zoukankan      html  css  js  c++  java
  • 自学电脑游戏第四天(Swing)

    继续之前的

    3.组合框(JComboBox)

    例题:利用JComboBox设计一个选择城市的程序。

    import java.awt.*;
    
    import javax.swing.*;
    
    public class JComboBoxExample extends JFrame{
        //定义两个组合框
        JComboBox comboBox1,comboBox2;
        //设置一个字符数组
        String cityNames[]={"北京","天津","上海","南京","重庆","武汉","杭州"};
        //创建构造方法
        public JComboBoxExample(){
            //引用父类
            super("组合框");
            Container container=getContentPane();
            container.setLayout(new FlowLayout());
            //创建一个具有数组定义列表内容的组合框
            comboBox1=new JComboBox(cityNames);
            //设置默认选项为第4个选项,因为在数组中第一个字符为cityNames[0]
            comboBox1.setSelectedIndex(3);
            //设置选项不可用,这里的不可用是不能编辑的意思,不是禁用
            comboBox1.setEditable(false);
            comboBox2=new JComboBox(cityNames);
            comboBox2.setSelectedItem(cityNames[1]);
            comboBox2.addItem(new String("长沙"));//在组合框中添加选择长沙
            comboBox2.setEditable(true);
            container.add(comboBox1);
            container.add(comboBox2);
            //调整窗口大小
            pack();
            setVisible(true);
            
        }
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            JComboBoxExample jcbe=new JComboBoxExample();
            jcbe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
    
    }

    运行结果:

     打开下拉框:

     打开另一个下拉框:

    然后讨论一下comboBox1.setEditable(false);这个的用法,有人觉得写true或者false没有区别,其实还是有的,当这个地方是false时:

     我们可以看出它的底部颜色为白色,之前是蓝色的。还有如何让他禁用不能做任何操作呢,经过我的研究,使用comboBox1.enable(false)就可以实现了,记住括号里必须是false,如果不是的话,那么执行结果就和comboBox1.setEditable(false)没什么区别了。

    这是运行的结果:

     南京这个下拉框完全动不了。

    好了,今天就到这了,很开心能和大家一起分享学习经验。

  • 相关阅读:
    spring boot + swagger2
    itext7 html转pdf实现
    shell脚本学习
    观察者模式
    sql mode 问题及解决 错误代码:1055 this is incompatible with sql_mode=only_full_group_by
    学生报数算法实现
    git reset 版本回退操作
    struts2方法无法映射问题:There is no Action mapped for namespace [/] and action name [m_hi] associated with context path []
    Vue日历组件的功能
    vue-router 在新窗口打开页面的功能
  • 原文地址:https://www.cnblogs.com/sunblingbling/p/11946067.html
Copyright © 2011-2022 走看看