继续之前的

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)的更多相关文章

  1. 自学电脑游戏第三天(Swing组件)

    Swing组件 1.按钮(Jbutton) 示例:选择用户所喜欢的城市. import java.awt.*; import java.awt.event.*; import javax.swing. ...

  2. 孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘

    孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天发现了python的类中隐藏着一些特殊的私有方法. 这些私有方法不管我 ...

  3. 孤荷凌寒自学python第十四天python代码的书写规范与条件语句及判断条件式

    孤荷凌寒自学python第十四天python代码的书写规范与条件语句及判断条件式 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 在我学习过的所有语言中,对VB系的语言比较喜欢,而对C系和J系 ...

  4. JAVA 8.20 游戏:四子连(Java&C++)

    (游戏:四子连 )四子连是一个两个人玩的棋盘游戏,在游戏中,玩家轮流将有颜色的棋子放在一个六行七列的垂直悬挂的网格中:         这个游戏的目的是在对手实现一行.一列或者一条对角线上有四个相同颜 ...

  5. 我的Android进阶之旅------>Android疯狂连连看游戏的实现之加载界面图片和实现游戏Activity(四)

    正如在<我的Android进阶之旅------>Android疯狂连连看游戏的实现之状态数据模型(三)>一文中看到的,在AbstractBoard的代码中,当程序需要创建N个Piec ...

  6. web版扫雷小游戏(四)

    ~~~接上篇,游戏的主体框架完成了,接下来我们对游戏中存在的两个主要实体进行分析,一个是雷点类BombObject(节点对象),一个是节点对象对应的图片对象BombImgObject,根据第一篇的介绍 ...

  7. Java开发笔记(一百三十四)Swing的基本对话框

    桌面程序在运行过程中,时常需要在主界面之上弹出小窗,把某种消息告知用户,以便用户及时知晓并对症处理.这类小窗口通常称作对话框,依据消息交互的过程,可将对话框分为三类:消息对话框.确认对话框.输入对话框 ...

  8. 游戏外挂四之利用CE和OD查找被选中怪物和怪物列表

    合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入)Q  Q:408365330     E-Mail:egojit@qq.com 这一节我们利 ...

  9. 自学Linux命令的四种方法

    自学Linux命令的四种方法 导读 童鞋们刚接触linux时,在学习过程中中会遇到不少问题,学习linux摸不着头脑,那么下面介绍四种linux的学习方法,特别适合新手. 方法一:终端"每日 ...

随机推荐

  1. vscode 远程编辑文件

    操作 安装扩展 remote-vscode 配置ssh 转发: 添加 RemoteForward 52698 127.0.0.1:52698 到 ~/.ssh/config: # Read more ...

  2. Laravel中Contracts的理解和使用

    Laravel 的 Contracts 是一组定义了框架核心服务的接口.说白了就是一组接口.使用它就是为了降低耦合性. 即便如此,是不是也有同学会搞不清楚Contracts在lavarel体系中的到底 ...

  3. ege图形库之简单贪吃蛇(c++)

    第二次做动画显示效果的小程序,心血来潮想做下儿时的经典游戏----贪吃蛇.由于时间有限,只是简单地做了基本功能,有时间后再完善更多功能. 由于个人水平有限,可能代码有些地方可以改进.不足之处敬请指出. ...

  4. Depth from Videos in the Wild 解读

    2019年7月17日11:37:05 论文 Depth from Videos in the Wild: Unsupervised Monocular Depth Learning from Unkn ...

  5. Python面试题:使用栈处理括号匹配问题

    括号匹配是栈应用的一个经典问题, 题目 判断一个文本中的括号是否闭合, 如: text = "({[({{abc}})][{1}]})2([]){({[]})}[]", 判断所有括 ...

  6. Django基础之cookie

    1. Cookie 1.1 Cookie的由来 大家都知道HTTP协议是无状态的.无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系, 它不会受前面的请求响应情况 ...

  7. JQuery动画之滑入滑出动画

    1. 滑入动画(类似于商店的卷帘门) $(selector).slideDown(speed, 回调函数); 解释: 此语句实现的功能为, 在XX时间内, 下拉动画, 显现元素. 当 slideDow ...

  8. 死磕Java之聊聊HashMap源码(基于JDK1.8)

    死磕Java之聊聊HashMap源码(基于JDK1.8) http://cmsblogs.com/?p=4731 为什么面试要问hashmap 的原理

  9. Configuring Windows for Certificate Logon

    Setting up a Windows Domain ( on AD) Installing Domain Controller Roles,During installing Active Dir ...

  10. 转载: Windows下两种iocp实现的差距

    转自:http://blog.csdn.net/oldworm/article/details/6171430 之前几天说过,因为经典iocp实现(以下简称经典实现)多个io线程绑定在一个iocp上, ...