Java——下拉列表框:JComboBox

import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Vector; import javax.swing.BorderFactory;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList; //=================================================
// File Name : MyComboBox_demo
//------------------------------------------------------------------------------
// Author : Common //类名:MyList
//属性:
//方法:
class MyComboBox{
private JFrame frame = new JFrame("窗体"); //定义窗体
private Container cont = frame.getContentPane(); //得到窗体容器
private JComboBox jcb1 = null; //定义下拉列表框
private JComboBox jcb2 = null; //定义下拉列表框
public MyComboBox(){
this.frame.setLayout(new GridLayout(2,2));
String nations[] = {"中国","美国","韩国","法国","英国"};
Vector<String> v = new Vector<String>(); //定义一个Vector集合
v.add("元素1");
v.add("元素2");
v.add("元素3");
this.jcb1 = new JComboBox(nations);
this.jcb2 = new JComboBox(v);
//定义一个列表框的边框显示条
jcb1.setBorder(BorderFactory.createTitledBorder("哪个国家?"));
jcb2.setBorder(BorderFactory.createTitledBorder("Vector?"));
jcb1.setMaximumRowCount(3); //最多显示3个选项
jcb2.setMaximumRowCount(3);
cont.add(this.jcb1);
cont.add(this.jcb2);
cont.add(new JLabel("下拉列表框"));
this.frame.setSize(330,200);
this.frame.setVisible(true);
this.frame.addWindowListener(new WindowAdapter(){ //加入事件监听
public void windowClosing(WindowEvent arg0) { //窗口关闭时触发,按下关闭按钮
// TODO 自动生成的方法存根
System.out.println("windowClosing-->窗口关闭");
System.exit(1);
}
});
}
} //主类
//Function : MyComboBox_demo
public class MyComboBox_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
new MyComboBox();
} }

import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Vector; import javax.swing.AbstractListModel;
import javax.swing.BorderFactory;
import javax.swing.ComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList; //=================================================
// File Name : MyComboBox_demo
//------------------------------------------------------------------------------
// Author : Common //类名:MyComboBox
//属性:
//方法:
class MyComboBoxModel extends AbstractListModel implements ComboBoxModel{ String nations[] = {"中国","美国","韩国","法国","英国"};
String item = null; @Override
public int getSize() {
// TODO 自动生成的方法存根
return this.nations.length;
} @Override
public Object getElementAt(int index) {
// TODO 自动生成的方法存根
return this.nations[index];
} @Override
public void setSelectedItem(Object anItem) {
// TODO 自动生成的方法存根
this.item = (String) anItem;
} @Override
public Object getSelectedItem() {
// TODO 自动生成的方法存根
return this.item;
} } //类名:MyComboBox
//属性:
//方法:
class MyComboBox{
private JFrame frame = new JFrame("窗体"); //定义窗体
private Container cont = frame.getContentPane(); //得到窗体容器
private JComboBox jcb1 = null; //定义下拉列表框
private JComboBox jcb2 = null; //定义下拉列表框
public MyComboBox(){
this.frame.setLayout(new GridLayout(2,2));
// String nations[] = {"中国","美国","韩国","法国","英国"};
// Vector<String> v = new Vector<String>(); //定义一个Vector集合
// v.add("元素1");
// v.add("元素2");
// v.add("元素3");
// this.jcb1 = new JComboBox(nations);
// this.jcb2 = new JComboBox(v);
this.jcb1 = new JComboBox(new MyComboBoxModel()); //实例化JComboBox
//定义一个列表框的边框显示条
jcb1.setBorder(BorderFactory.createTitledBorder("哪个国家?"));
// jcb2.setBorder(BorderFactory.createTitledBorder("Vector?"));
jcb1.setMaximumRowCount(3); //最多显示3个选项
// jcb2.setMaximumRowCount(3);
cont.add(this.jcb1);
// cont.add(this.jcb2);
cont.add(new JLabel("下拉列表框"));
this.frame.setSize(330,200);
this.frame.setVisible(true);
this.frame.addWindowListener(new WindowAdapter(){ //加入事件监听
public void windowClosing(WindowEvent arg0) { //窗口关闭时触发,按下关闭按钮
// TODO 自动生成的方法存根
System.out.println("windowClosing-->窗口关闭");
System.exit(1);
}
});
}
} //主类
//Function : MyComboBox_demo
public class MyComboBox_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
new MyComboBox();
} }

import java.awt.Container;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Vector; import javax.swing.AbstractListModel;
import javax.swing.Action;
import javax.swing.BorderFactory;
import javax.swing.ComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList; //=================================================
// File Name : MyComboBox_demo
//------------------------------------------------------------------------------
// Author : Common //类名:MyComboBox
//属性:
//方法: class MyComboBox implements ItemListener,ActionListener{
private JFrame frame = new JFrame("窗体"); //定义窗体
private Container cont = frame.getContentPane(); //得到窗体容器
private JComboBox jcb1 = null; //定义下拉列表框
private JLabel label = new JLabel("标签"); //定义标签
private String fontSize[] = {"10","11","12"}; public MyComboBox(){
this.frame.setLayout(new GridLayout(2,2)); this.jcb1 = new JComboBox(this.fontSize); //实例化JComboBox
//定义一个列表框的边框显示条
jcb1.setBorder(BorderFactory.createTitledBorder("请选择显示文字大小")); jcb1.addItemListener(this); //加入选项监听
jcb1.addActionListener(this); //加入动作监听 jcb1.setMaximumRowCount(3); //最多显示3个选项
jcb1.setEditable(true); //设置可编辑文本
jcb1.configureEditor(jcb1.getEditor(), "12"); //定义默认值
this.changeFontSize(12); //设置默认字体 cont.add(this.jcb1);
cont.add(label); cont.add(new JLabel("下拉列表框"));
this.frame.setSize(330,200);
this.frame.setVisible(true);
this.frame.addWindowListener(new WindowAdapter(){ //加入事件监听
public void windowClosing(WindowEvent arg0) { //窗口关闭时触发,按下关闭按钮
// TODO 自动生成的方法存根
System.out.println("windowClosing-->窗口关闭");
System.exit(1);
}
});
}
@Override
public void actionPerformed(ActionEvent e) { //输入信息时触发
// TODO 自动生成的方法存根
String itemSize = (String) this.jcb1.getSelectedItem(); //得到选项
int Size = 12;
try{
Size = Integer.parseInt(itemSize); //字符串转整数
}catch(Exception ex){
this.jcb1.getEditor().setItem("输入的不是数字");
}
this.changeFontSize(Size);
if(!this.isExists(itemSize)){
this.jcb1.addItem(jcb1.getSelectedItem()); //不存在,加入下拉选项
}
}
@Override
public void itemStateChanged(ItemEvent e) {
// TODO 自动生成的方法存根 } public void changeFontSize(int size){ //改变文字大小
Font font = new Font("Serief",Font.BOLD,size); //定义Font对象
this.label.setFont(font); //设置文字大小
} public boolean isExists(String item){
boolean flag = false;
for(int i =0;i<this.jcb1.getItemCount();i++){
if(item.equals(this.jcb1.getItemAt(i))){
flag = true;
}
}
return flag;
} } //主类
//Function : MyComboBox_demo
public class MyComboBox_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
new MyComboBox();
} }
Java——下拉列表框:JComboBox的更多相关文章
- java的JCombobox实现中国省市区三级联动
源代码下载:点击下载源代码 用xml存储中国各大城市的数据. xml数据太多了就不贴上了,贴个图片: 要解释xml,添加了一个jdom.jar,上面的源代码下载里面有. 解释xml的类: packag ...
- Swing JComboBox的使用
1:JComboBox的使用:类层次结构图: java.lang.Object --java.awt.Component --java.awt.Container --javax.swing.JCom ...
- java窗口程序初学组件小总结
容器(可以放组件)JPanel默认的布局管理器是FlowLayout:JPanel panel=new JPanel(); 按钮JButton(可以为汉字 也可以是图片):JButton button ...
- JComBox的用法
JComboBox的使用: 类层次结构图: java.lang.Object --java.awt.Component --java.awt.Container - ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- Java Swing 编程 JComboBox 实现模糊查找功能。
废话不多说,直接上代码.代码如下: import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util ...
- Java Swing 编程 JComboBox 显示不全问题。
最近在做Java Swing编程一个小例子.然后遇到JComboBox 宽度固定,而下拉列表比较长,导致显示不全的问题. 解决的思路想到两种,1:下拉列表当显示不全的时候,换行显示.2:在下拉列表停几 ...
- JAVA JComboBox的监听事件(ActionListener、ItemListener)
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 参考资料: http://263229365.iteye.com/blog/1040329 https://www.ja ...
- Java 原始类型JComboBox的成员JComboBox(E())的调用 未经过检查
问题描述: 根据书上的代码 ,编译时候出现以下问题 自定义了一个字符数组: private String[] grades = {"1","2","3 ...
随机推荐
- 作业4-两人编程<词频统计>
协作:苗中峰,刘鑫成 我主要攻克排序,成哥写了文件流的使用.整合工作由我完成,成哥帮我查阅资料,避免和解决语法错误. 这次任务较作业三的变化是: * ...
- mySql引擎
摘自: http://www.cnblogs.com/sopc-mc/archive/2011/11/01/2232212.html MySql引擎很多,最常见的有InnoDB,MyISAM,NDM ...
- 【POJ 3693】Maximum repetition substring 重复次数最多的连续重复子串
后缀数组的论文里的例题,论文里的题解并没有看懂,,, 求一个重复次数最多的连续重复子串,又因为要找最靠前的,所以扫的时候记录最大的重复次数为$ans$,扫完后再后从头暴力扫到尾找重复次数为$ans$的 ...
- 网络流 HDU 3605
建图 源点 -> 1024类人 -> 星球 -> 汇点 权 每类人数目 星球容量 星球容量 列举 0~1 ...
- hdu2665 && poj2104划分树
K-th Number Time Limit: 20000MS Memory Limit: 65536K Total Submissions: 47066 Accepted: 15743 Ca ...
- java.net.URL请求远程文件下载
1:浏览器请求下载 public void listStockcodeUplaod(HttpServletRequest req, HttpServletResponse res) throws Ex ...
- 系统间通信(4)——IO通信模型和JAVA实践 中篇
4.多路复用IO模型 在"上篇"文章中,我们已经提到了使用多线程解决高并发场景的问题所在,这篇文章我们开始 4-1.现实场景 我们试想一下这样的现实场景: 一个餐厅同时有100位客 ...
- android开发之生命周期
android开发之生命周期 一:Activity的生命周期: 这几天了了解了安卓Activity的生命周期,对于生命周期有了大概的理解: 一个Activity的生命周期也就是Activity从生成到 ...
- 回合对战制游戏第一篇(初识java)
回合对战制游戏第一篇 一,所谓的java. java是一门完全面向对象的编程语言,而之前所接触到的C语言是一门面向有一个过程的语音,对于两个的区别应该有一个清楚的认识. java的第一个内容. 类和对 ...
- OPENGL的入门第一个程序——Hello World
#include "stdafx.h" #include<GL\glut.h> void Init() { glClearColor(0.0f,0.0f,0.0f,0. ...