java下拉菜单,java下拉菜单栏

发布时间:2023-01-06

本文目录一览:

1、如何用java实现下拉菜单
2、java中怎么实现多个下拉菜单的动态关联?
3、java中如果把下拉菜单用鼠标选中的值添加到文本框里面?
4、JAVA,如何使下拉菜单被点击后触发事件

如何用java实现下拉菜单

//核心代码

String[] sg = {"苹果","香蕉","樱桃","山楂"};
JComboBox<String> jcb = new JComboBox<String>(sg);

完整代码

import java.awt.*;
import javax.swing.*;
public class MFrame extends JFrame{
    public MFrame() {
        String[] sg = {"苹果","香蕉","樱桃","山楂"};
        JComboBox<String> jcb = new JComboBox<String>(sg);
        add(jcb);
        setLayout(new FlowLayout());//把JFrame设置成流式布局
        setTitle("测试");//设置窗口标题
        setSize(220, 100);//设置窗口大小
        setLocationRelativeTo(null);//设置窗口居中
        setDefaultCloseOperation(EXIT_ON_CLOSE);//设置点击关闭退出jvm虚拟机
        setVisible(true);//设置窗口可见
    }
    public static void main(String[] args) {
        new MFrame();//创建窗口
    }
}

java中怎么实现多个下拉菜单的动态关联?

1,所谓级联下拉菜单就是动态的下拉菜单,
当第一级选中某一个选项是,
第二级会跟着第一级的变化而变化,
比如:当“学院”这一栏选择“信息学院”那么“专业”这一栏只会出现属于信息学院的专业。 2,级联下拉菜单的实现是运用itemStateChanged(ItemEvent)方法实现,首先在下拉菜单上注册ItemListener监视器,当下拉菜单选中时触发itemStateChanged(ItemEvent)事件重新给下一级下拉菜单赋值。

public void itemStateChanged(ItemEvent e){
    if(e.getSource() == xueyuan){
        // 当点击学院下拉框时
        try{
            Statement stat2 = con.createStatement();
            String sql = "select D_ID from xueyuanin WHERE D_NAME='"+e.getItem()+"'";
            // 获取该学院的代号
            ResultSet rs = stat2.executeQuery(sql);
            rs.next();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

java中如果把下拉菜单用鼠标选中的值添加到文本框里面?

需要的组件:

  • 下拉菜单 是 JComboBox组件
  • 文本框 是 JTextField组件
    设置下拉菜单的内容
    常用的主要有三种方法:
  1. 使用添加模型的方式,来添加内容
JComboBox<String> jcb = new JComboBox<String>();
jcb.setModel(new DefaultComboBoxModel<String>(new String[] {"一","二"}));
  1. 使用数组参数的构造器,来添加内容
String[] ss = {"选项一","选项二"};
JComboBox<String> jcb = new JComboBox<String>(ss);
  1. 使用链表参数的构造器,来添加内容
Vector<String> ve = new Vector<String>();
ve.add("选项一");
ve.add("选项二");
JComboBox<String> jcb = new JComboBox<String>(ve); //把单链表作为参数,来构造一个下拉菜单

事件响应器的设置
当鼠标选择菜单的选项后, 会触发一个事件ActionEvent, 该事件的处理代码里, 可以实现把选择的值添加到文本框。
需要给JComboBox 添加 一个ActionListener就能实现对事件的响应。 效果图
参考代码如下 jdk 1.8

import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import java.awt.*;
public class JCBDemo extends JFrame implements ActionListener {
    private static final long serialVersionUID = 1L;
    //组件的定义
    private final JTextField jtf1;
    private final JTextField jtf2;
    private final JTextField jtf3;
    private final JComboBox<String> jcb2;
    private final JComboBox<String> jcb1;
    private final JComboBox<String> jcb3;
    public static void main(String[] args){
        new JCBDemo().setVisible(true);
    }
    public JCBDemo(){
        setLayout(new GridLayout(3, 3, 0, 0));
        //给JComboBox 添加数据的方式一 setModel的方法
        JLabel jl1 = new JLabel("选择你喜欢的水果");
        jcb1 = new JComboBox<String>();
        jcb1.setModel(new DefaultComboBoxModel<String>(new String[] { "苹果", "鸭梨", "香蕉", "山楂", "蜜桃" }));
        jtf1 = new JTextField();
        jtf1.setColumns(10);
        jtf1.setText((String) jcb1.getSelectedItem());//设置文本框的值
        //给JComboBox 添加数据的方式二 使用带数组作为参数的构造方法
        JLabel jl2 = new JLabel("选择你喜欢的电影");
        String[] move = { "英雄本色", "神奇四侠", "复仇者联盟" };
        jcb2 = new JComboBox<String>(move);
        jcb2.addItem("星球大战");
        jtf2 = new JTextField();
        jtf2.setText((String) jcb2.getSelectedItem());
        jtf2.setColumns(10);
        //给JComboBox 添加数据的方式三 使用带Vector链表作为参数的构造方法
        JLabel jl3 = new JLabel("选择你喜欢的书籍");
        Vector<String> list = new Vector<String>();
        list.add("货币战争");
        list.add("格林童话");
        jcb3 = new JComboBox<String>(list);
        jtf3 = new JTextField();
        jtf3.setColumns(10);
        jtf3.setText((String) jcb3.getSelectedItem());
        add(jl1);add(jcb1);add(jtf1);
        add(jl2);add(jcb2);add(jtf2);
        add(jl3);add(jcb3);add(jtf3);
        jcb1.setActionCommand("1");//设置动作命令
        jcb1.addActionListener(this);//设置事件响应器
        jcb2.setActionCommand("2");
        jcb2.addActionListener(this);
        jcb3.setActionCommand("3");
        jcb3.addActionListener(this);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(350, 139);//设置窗口大小
        setLocationRelativeTo(null);//设置窗口居中
        setTitle("下拉菜单示范");
    }
    public void actionPerformed(ActionEvent e){//当鼠标选择下拉菜单的值时
        String comd = e.getActionCommand();//得到动作命令
        if(comd.equals("1")){
            jtf1.setText((String) jcb1.getSelectedItem());//设置文本框的内容
        }else if(comd.equals("2")){
            jtf2.setText((String) jcb2.getSelectedItem());
        }else if(comd.equals("3")){
            jtf3.setText((String) jcb3.getSelectedItem());
        }
    }
}

JAVA,如何使下拉菜单被点击后触发事件

你可以给大菜单一个BOOL变量bl,再给要选择的小菜单一个BOOL变量bs
如果bl == TRUEbs == TRUE,那就是点击了;
如果bl == TRUEbs == FALSE,就是没有点击。 或者你试试这个:给想监视的菜单添加ON_UPDATE_COMMAND_UI命令,如果它被点击了,则会有一些操作在这里执行。