精华内容
下载资源
问答
  • 2022-04-19 22:25:32

    一、关键代码

    一)、创建单个下拉列表框的内容(项)

    1. 可以先创建下拉列表框,然后不断的一个个添加内容元素,注意泛型的使用,泛型这里选择字符串(String)。
    2. 单个创建下拉下拉列表框的内容元素,可以创建多个,下方源码只创建一个(“PC120挖机”)。
    3. 需要注意在源码前面添加下拉列表框的包类。import javax.swing.JComboBox;// 下拉框列表
    		// combo(连击),String<字符串>
    		JComboBox<String> comboBox_1=new JComboBox<>();
    		comboBox_1.addItem("PC120挖机");// 下拉框列表添加内容。Item(条款,项)
    

    二)、字符串数组添加多个下拉列表框的内容(项)

    • 也可以先创建字符串数组,数组里添加多个内容(项),然后将这个字符串数组的数据添加到下拉列表框中。
    		String items_1[]={"54m天泵","56m天泵","62m天泵"};// 建立数组
    		JComboBox<String> comboBox_1=new JComboBox<>(items_1);// 使用数组String添加下拉元素
    

    三)、模型方法给下拉列表框添加内容(项)

    1. 需要注意泛型的添加,不加有些JDK版本报错。源码本身无问题,但会因版本的兼容性问题报错。
    2. 模型方法注意添加模型相关的包类。
      import javax.swing.ComboBoxModel;// 下拉框列表模型
      import javax.swing.DefaultComboBoxModel;// 默认下拉框列表模型
    3. 模型方法的好处之一是当要在原来内容的基础上,继续加某一项内容(项)时,编写相关插入的相关代码便可。如:
      model_1.addElement(tmp);// 向数组模型添加元素 Element(元素)
      注意: 上行一行代码,这里只做说明使用,本文源码未使用。
    		JComboBox<String> comboBox_1=new JComboBox<>();// 新建下拉框列表
    		String items_1[]={"小户型","大户型","工区"};
    		// 下行不加<String>会因版本问题报错
    		ComboBoxModel<String> cm_1=new DefaultComboBoxModel<>(items_1);// 创建下拉框列表模型
    		comboBox_1.setModel(cm_1);// 向列表中添加模型
    

    二、简单说明

    • 大致流程说明。大致的流程也可观看流程图得知。先创建窗体f和容器c,将容器嵌入窗体中。设置窗体点击×即关闭程序,窗体可见,初始不设置布局。以上主要为way1的相关源码。然后创建一个下拉列表框,并给下拉列表框添加内容(元素)。添加内容有三种方法,源码看way2、way3、way4部分,分别为三种添加内容(项、元素)的方法。
    • way2的源码流程,先创建下拉列表框,然后逐个添加内容元素,最后再以动作监听,输出信息框的方式展示运行效果。
    • way3的源码流程,先创建字符串数组,数组中编辑好内容元素,然后将字符串数组添加到下拉列表框中,最后和way2一样以信息框展示运行效果。
    • way4的源码流程,创建下拉列表框,创建数组,将数组引入模型中,将模型添加到下拉列表框中。然后添加事件监听,通过输入信息框的方式展示运行效果。模型个泛型需要设置好,因为有的JDK版本会提示因编译的安全问题报错而无法编译。
    • Main一类。创建Demo类,功能的组合,如way1接way2,或者way1接way3。本文直接创建3个way1的窗体。

    三、流程图

    窗体
    容器
    初始不设置布局
    下拉列表框
    添加元素方法way2
    添加元素方法way3
    添加元素方法way4
    分别创建多个元素
    设置可编辑
    动作监听弹出信息框
    字符串数组创建元素
    设置不可编辑
    动作监听弹出信息框
    模型方法创建元素
    动作监听弹出信息框

    四、源码

    一)、源码A

    • 窗体里添加一个下拉列表框,和一个按钮。点击按钮弹出信息框,信息框的内容:索引和选择的内容。给下拉列表框里添加元素,代码有三种方法来实现。这里分别用方法way2、way3、way4(way1为窗体的属性)。本文源码是选择直接编译成三个窗体,各显示三个方法的效果。毕竟注释后一个个分别编译后的效果对比性较差,直接在桌面共同生成三个方法各自的效果对比性更好。
    • 注意:编译后三个窗体,是重合的,分别拉开分析便可。
    /*	【程序思想】
    *	下拉列表框组件
    */
    
    import java.awt.Container;// 容器
    
    import java.awt.event.ActionListener;// 动作监听
    import java.awt.event.ActionEvent;// 动作事件
    
    import javax.swing.JFrame;// 窗体
    import javax.swing.JComboBox;// 下拉框列表
    import javax.swing.ComboBoxModel;// 下拉框列表模型
    import javax.swing.DefaultComboBoxModel;// 默认下拉框列表模型
    import javax.swing.JButton;// 按钮
    import javax.swing.JOptionPane;// 选择 窗格
    
    class Demo{
    	JFrame f=new JFrame();// 窗体
    	Container c;// 容器
    
    	/*
    		way1
    		窗体的基本属性
    	*/
    	void way1(){
    		f.setBounds(400,200,500,400);// 位置、尺寸
    		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 点×即关闭
    		c=f.getContentPane();// 容器c嵌入窗体
    		c.setLayout(null);// 初始容器c不设置布局
    	}
    
    	/*
    		way2
    		下拉框列表属性的设置,方法一
    	*/
    	void way2(){
    		
    		// combo(连击),String<字符串>
    		JComboBox<String> comboBox_1=new JComboBox<>();
    		comboBox_1.addItem("PC120挖机");// 下拉框列表添加内容。Item(条款)
    		comboBox_1.addItem("YC60挖机");// 下拉框列表添加内容。Item(条款)
    		comboBox_1.addItem("PC220炮机");// 下拉框列表添加内容。Item(项,项目)
    		
    		comboBox_1.setBounds(15,10,100,20);// 下拉框的坐标、尺寸。绝对布局
    		c.add(comboBox_1);
    
    		comboBox_1.setEditable(true);// 列表框可编辑
    
    		JButton btn_1=new JButton("按钮way2");
    		// Action(动作),performed(执行),Message(信息),dialog(对话框),selected(挑选),index(指数)
    		btn_1.addActionListener(new ActionListener(){
    			public void actionPerformed(ActionEvent e){
    				JOptionPane.showMessageDialog(f,
    					"选择的索引:"+comboBox_1.getSelectedIndex()+"\n"+
    					"选择的内容为:"+comboBox_1.getSelectedItem()
    				);
    				
    			}
    
    		});
    		btn_1.setBounds(120,20,110,40);// 按钮的坐标、尺寸
    		c.add(btn_1);
    	}
    
    	/*
    		way3
    		下拉框列表的属性设置,方法二
    	*/
    	void way3(){
    		String items_1[]={"54m天泵","56m天泵","62m天泵"};// 建立数组
    		JComboBox<String> comboBox_1=new JComboBox<>(items_1);// 使用数组String添加下拉元素
    
    		comboBox_1.setBounds(20,15,90,30);// 下拉框列表的位置、尺寸
    		c.add(comboBox_1);
    
    		comboBox_1.setEditable(false);// 列表框不可编辑
    
    		JButton btn_1=new JButton("按钮way3");
    		// Action(动作),performed(执行),Message(信息),dialog(对话框),selected(挑选),index(指数)
    		btn_1.addActionListener(new ActionListener(){
    			public void actionPerformed(ActionEvent e){
    				JOptionPane.showMessageDialog(f,
    					"选择的索引:"+comboBox_1.getSelectedIndex()+"\n"+
    					"选择的内容为:"+comboBox_1.getSelectedItem()
    				
    				);
    				
    			}
    
    		});
    		btn_1.setBounds(120,20,110,40);// 按钮的坐标、尺寸
    		c.add(btn_1);
    	}
    
    	/*
    		way4
    		下拉框的属性,方法三
    		模型方法
    	*/
    	void way4(){
    		// <泛型:字符串>
    		JComboBox<String> comboBox_1=new JComboBox<>();// 新建下拉框列表
    		String items_1[]={"小户型","大户型","工区"};
    		// 下行不加<String>会因版本问题报错
    		ComboBoxModel<String> cm_1=new DefaultComboBoxModel<>(items_1);// 创建下拉框列表模型
    		comboBox_1.setModel(cm_1);// 向下拉列表中添加模型
    
    		comboBox_1.setBounds(20,18,90,25);// 下拉框列表坐标、大小
    		c.add(comboBox_1);
    
    		JButton btn_1=new JButton("按钮way4");
    		// Action(动作),performed(执行),Message(信息),dialog(对话框),selected(挑选),index(索引)
    		btn_1.addActionListener(new ActionListener(){
    			public void actionPerformed(ActionEvent e){
    				JOptionPane.showMessageDialog(f,
    					"选择的索引:"+comboBox_1.getSelectedIndex()+"\n"+
    					"选择的内容为:"+comboBox_1.getSelectedItem()
    				);
    				
    			}
    
    		});
    		btn_1.setBounds(120,20,110,40);// 按钮的坐标、尺寸
    		c.add(btn_1);
    	}
    
    	public static void main(String[] args) {
    		Demo d=new Demo();
    		d.way1();// 窗体a属性
    		d.way2();// 下拉框列表的属性,编写方式1
    
    		Demo d_2=new Demo();
    		d_2.way1();// 再新建一个窗体b
    		d_2.way3();// 下拉框列表的属性,编写方式2
    
    		Demo d_3=new Demo();
    		d_3.way1();// 新建窗体c
    		d_3.way4();// 下拉框列表的属性,编写方式3,模型
    		
    		d.f.setVisible(true);// 窗体可见
    		d_2.f.setVisible(true);
    		d_3.f.setVisible(true);
    	}
    }
    
    

    二)、源码A的运行效果

    1.默认编译效果

    (1)、默认的编译效果,三个窗体因方法way1设置的坐标大小相同,所以在同一位置。如下图。我们分别拉开展示就好。
    在这里插入图片描述
    (2)、拉开最前面的两个窗体,让三个窗体在同一桌面平面展示。如下:
    在这里插入图片描述

    2.方法way2的窗体

    (1)、点击“按钮way2”,效果如下:
    在这里插入图片描述
    (2)、 “按钮way2”窗体的下拉列表框是可以编辑的,源码A中有相关的代码。这里我们编辑“推土机”后点击“按钮way2”,效果如下:
    在这里插入图片描述

    3.方法way3的窗体

    (1)、选择下拉列表框中的“62m天泵”,如下:
    在这里插入图片描述
    (2)、点击“按钮way3”,效果如下:
    在这里插入图片描述

    4.方法way4的窗体

    (1)、选择下拉列表框中的“大户型”,如下:

    • 注意:way4使用模型方法添加元素。
      在这里插入图片描述
      (2)、点击“按钮way04”的效果如下:
      在这里插入图片描述

    五、结语

    模型方法不设置好或不设泛型的话,有时候编译报错,作者的JDK版本便无法编译,不是常见的缺什么内容或类相关的报错,而是大致意思是说这个方法不安全不给你编译的报错。但有的版本不设置泛型便可编译运行。对于窗体的运行效果,想着一个个编译截图上传太麻烦,便选择生成三个方法下不同编译效果的窗体,这样对比也比较直观。其实这里“比较”的方向意思是三个方法都可以达成相同的效果,而不是各窗体的这个和哪个看起来怎么怎么样的不同。编译直观不同的地方是各方法里又另外添加了些功能代码,如:way2窗体的下拉列表框可编辑,way3窗体的下拉列表框不可编辑。但根本上元素类下拉选择的效果各方法却是一样的。

    六、定位日期

    2022.4.19;23:25 流程图、源码、源码运行效果的内容
    2022.4.20;23:30

    更多相关内容
  • 2022年 Uibot中级实践题-下拉列表框操作,ABC三个空各填1条语句。亲测通过。
  • 主要介绍了Python 窗体(tkinter)下拉列表框(Combobox)实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 如果想实现可选择输入的下拉列表框,那么下面有个不错的示例,希望大家可以参考下
  • 这是一款点击input弹出日期时间选择插件,可以下拉列表进行选择日期时间代码,jQuery点击弹出下拉框日期选择代码。
  • 主要介绍了PHP ADODB生成下拉列表框功能,结合实例形式分析了php使用ADODB类进行数据库操作及下拉列表框显示的相关操作技巧,需要的朋友可以参考下
  • 主要介绍了Java Swing JComboBox下拉列表框的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要介绍了php使用数组填充下拉列表框的方法,涉及php操作数组的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • 主要介绍了javascript对下拉列表框(select)的操作。需要的朋友可以过来参考下,希望对大家有所帮助
  • 主要介绍了JS设置下拉列表框当前所选值的方法,涉及JavaScript结合jsp动态设置select下拉列表框的相关技巧,需要的朋友可以参考下
  • 主要介绍了JS显示下拉列表框内全部元素的方法,涉及javascript遍历下拉列表元素的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • 这篇文章主要介绍了wxpython自定义下拉列表框过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 自定义wxpython下拉列表框,支持修改边框颜色,按钮图标...
  • Axure RP 8 带滚动条带筛选的下拉列表框 圆角文本框,添加元件库就可以直接拖出来用
  • 主要介绍了Android编程实现多列显示的下拉列表框Spinner功能,结合具体实例形式分析了Android多列表显示功能的相关布局操作实现技巧,需要的朋友可以参考下
  • 主要介绍了JS+CSS实现美化的下拉列表框效果,涉及javascript针对下拉列表框样式的相关操作技巧,非常美观大方,需要的朋友可以参考下
  • 我们经常会看到很多的网站会看到有下拉列表的内容进行直接增加与移除,下面我来介绍一款js Select下拉列表框进行多选、移除、交换内容实例
  • 主要介绍了js操纵dom生成下拉列表框的方法,需要的朋友可以参考下
  • 主要介绍了JavaScript实现下拉列表框数据增加、删除、上下排序的方法,涉及javascript针对页面下拉列表框元素的添加、删除及移动的相关技巧,具有一定参考借鉴,需要的朋友可以参考下
  • 主要介绍了JS检索下拉列表框中被选项目的索引号(selectedIndex),本文通过实例代码图文详解的形式给大家介绍的非常详细,需要的朋友可以参考下
  • jQuery树形插件下拉列表选择,数据封装在demoData.js里面,可以自由添加修改。
  • 本篇文章主要介绍了vue表单绑定实现多选框和下拉列表的实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 主要为大家详细介绍了Android下拉列表选项,及指示箭头动画的制作代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 针对不同的网页元素控件,详细讲述使用不同的方法自动填写。在浏览器里就可以实现,不需要另外安装软件。自动填表方案放在软件收藏栏,使用时就像打开一个网址一样简单。
  • 主要为大家详细介绍了C#实现无限级联下拉列表框的相关资料,感兴趣的小伙伴们可以参考一下
  • 主要介绍了jQuery ajax+PHP实现的级联下拉列表框功能,涉及php结合jQuery的$.get方法动态交互实现省市二级联动下拉列表框相关操作技巧,需要的朋友可以参考下
  • 操作下拉列表框的jquery代码,方便学习jquery的朋友。
  • 主要介绍了JS+CSS实现美化的下拉列表框效果,涉及javascript针对下拉列表框样式的相关操作技巧,三款下拉菜单简单大方,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 149,174
精华内容 59,669
关键字:

列表框和下拉列表框区别