自学电脑游戏第四天(Swing)

Posted sunblingbling

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自学电脑游戏第四天(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)没什么区别了。

这是运行的结果:

技术图片

 

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

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

 

以上是关于自学电脑游戏第四天(Swing)的主要内容,如果未能解决你的问题,请参考以下文章

零基础自学javase黑马课程第十四天

自学Python编程的第四天----------来自苦逼的转行人

[java自学第四天]

java自学第四天

java自学第四天

Java自学笔记第二十四天