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 ...
随机推荐
- centos 20T硬盘(超过16T)分区
最近新买了一台服务器DELL R730 首先我们做了一个raid 1 和raid 5 在raid 1 上安装系统 安装完系统之后,现在要进行分区了,那个raid 5 做完之后,实际大小是19T 所以这 ...
- [转]跟我一起学extjs5(02--建立工程项目)
原文地址:http://blog.csdn.net/jfok/article/details/35569057 目录(?)[+] 跟我一起学extjs5(02--建立工程项目) 我们先建立一个java ...
- 【NOIP 2015 & SDOI 2016 Round1 & CTSC 2016 & SDOI2016 Round2】游记
我第一次写游记,,,, 正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪里?正文在哪 ...
- 【转】c# 调用windows API(user32.dll)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.R ...
- 100114J
经过思考后,很明显,我们可以看出应该是求出两条最长的链,链是指挂在连通块上的
- bootstrap-fileinput简单完整列子
文件夹结构 版本都是3.x <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http ...
- jquery检测浏览器版本
//检测当前浏览器 function browserType() { var brow = $.browser; //console.log(brow); var bInfo = "&quo ...
- PHP读取XML
books.xml文件: 代码 <books> <book> <author>Jack Herrington</author> <title> ...
- Linux下执行.sh文件
Linux下执行.sh文件有两种情况: 一.直接./加上文件名.sh,如运行hello.sh为./hello.sh[hello.sh必须有x权限] 二.直接sh 加上文件名.sh,如运行hello.s ...
- Python爬虫基础知识入门一
一.什么是爬虫,爬虫能做什么 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来.比如它在抓取一个网 ...