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

  1. java的JCombobox实现中国省市区三级联动

    源代码下载:点击下载源代码 用xml存储中国各大城市的数据. xml数据太多了就不贴上了,贴个图片: 要解释xml,添加了一个jdom.jar,上面的源代码下载里面有. 解释xml的类: packag ...

  2. Swing JComboBox的使用

    1:JComboBox的使用:类层次结构图: java.lang.Object --java.awt.Component --java.awt.Container --javax.swing.JCom ...

  3. java窗口程序初学组件小总结

    容器(可以放组件)JPanel默认的布局管理器是FlowLayout:JPanel panel=new JPanel(); 按钮JButton(可以为汉字 也可以是图片):JButton button ...

  4. JComBox的用法

    JComboBox的使用: 类层次结构图:    java.lang.Object     --java.awt.Component      --java.awt.Container       - ...

  5. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  6. Java Swing 编程 JComboBox 实现模糊查找功能。

    废话不多说,直接上代码.代码如下: import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util ...

  7. Java Swing 编程 JComboBox 显示不全问题。

    最近在做Java Swing编程一个小例子.然后遇到JComboBox 宽度固定,而下拉列表比较长,导致显示不全的问题. 解决的思路想到两种,1:下拉列表当显示不全的时候,换行显示.2:在下拉列表停几 ...

  8. JAVA JComboBox的监听事件(ActionListener、ItemListener)

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   参考资料: http://263229365.iteye.com/blog/1040329 https://www.ja ...

  9. Java 原始类型JComboBox的成员JComboBox(E())的调用 未经过检查

    问题描述: 根据书上的代码 ,编译时候出现以下问题 自定义了一个字符数组: private String[] grades = {"1","2","3 ...

随机推荐

  1. 任意文件夹下打开cmd功能的设置(win10)

    win10中打开cmd的方法: 1."运行"中输入CMD打开,也可以按住win+R 2.选择命令行工具中"开始-->>所有应用-->>Window ...

  2. 线性表的顺序存储结构C语言版

    #include <stdio.h> #define MAXSIZE 101 #define N 10 typedef struct SeqList { int data[MAXSIZE] ...

  3. 【BZOJ 3165】【HEOI 2013】Segment

    往区间上覆盖一次函数,做法是用线段树维护标记永久化. 每次都忘了线段树要4倍空间,第一次交总是RE,再这么手残的话考场上就真的要犯逗了. #include<cstdio> #include ...

  4. chrome 26.0.XXX版本下media query流媒体查询有问题的bug

    这段代码什么意思: @media only screen and (max-width: 1360px)  当用户的界面小于等于1360px的时候, 会加载该流媒体样式(此时的界面是包含滚动条的): ...

  5. Spring不支持依赖注入static静态变量

    在springframework里,我们不能@Autowired一个静态变量,使之成为一个spring bean,例如下面这样: 可以试一下,yourClass在这种状态下不能够被依赖注入,会抛出运行 ...

  6. Web前端性能优化教程01:减少Http请求

    性能黄金法则 只有10%-20%的最终用户响应时间花在接收请求的HTML文档上,剩下的80%-90%时间花在HTML文档所引用的所有组件(图片,script,css,flash等等)进行的HTTP请求 ...

  7. CocoaPods安装使用及上传

    1.升级Ruby环境 sudo gem update --system 如果Ruby没有安装,请参考 如何在Mac OS X上安装 Ruby运行环境 2.安装CocoaPods时我们要访问cocoap ...

  8. 简进祥===AFNetWorking 下载视频文件

    获取沙盒中的Documents地址的代码. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUs ...

  9. java 基础拾漏

    1.java语言支持的类型非为两类:基础类型(primitive Type) 和引用类型(Reference Type),基础类型8种 2.数组元素的类型是基本类型中的整数类型(byte,short, ...

  10. Android成长日记-使用Intent实现页面跳转

    Intent:可以理解为信使(意图),由Intent来协助完成Android各个组件之间的通讯 Intent实现页面之间的跳转 1->startActivity(intent) 2->st ...