zoukankan      html  css  js  c++  java
  • 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();
    	}
    
    }
    
  • 相关阅读:
    HDFS snapshot操作实战
    不是技术牛人,如何拿到国内IT巨头的Offer(转载)
    HBase的RowKey设计原则
    hbase shell 基本命令总结
    13_Python数据类型字符串加强_Python编程之路
    监督学习与无监督学习的区别_机器学习
    12_Python的(匿名函数)Lambda表达式_Python编程之路
    Python数据挖掘_Python2模块Spynner的安装(安装失败)
    06_Linux目录文件操作命令3查找命令_我的Linux之路
    python数据挖掘_Json结构分析
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/5318281.html
Copyright © 2011-2022 走看看