码迷,mamicode.com
首页 > Windows程序 > 详细

Swing-JComboBox用法-入门

时间:2015-07-12 21:27:54      阅读:304      评论:0      收藏:0      [点我收藏+]

标签:

JComboBox是Swing中的下拉菜单控件。它永远只能选中一个项目,然而比单选按钮节省空间。如果使用setEditable设置为true则内部选项的文本可以编辑,因此这种组件被称为组合框。注意,对选项的编辑只会影响当前项,而不会改变列表内容。可以使用addItem方法来添加选项列表,或者使用insertItemAt在任何位置插入选项;然而如果有大量选项需要添加,这种方法是非常笨重的,可以先构造一个DefaultComboBoxModel,使用addElement加载选项,最后在调用JComboBox的setModel方法。

常用方法如下:

技术分享

示例代码:

JComboBoxDemo.java

import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;


public class JComboBoxDemo extends JFrame{

    /**
     * source code from 《java核心技术 卷1 基础知识》 P336
     */
    private static final long serialVersionUID = -8161981948004677531L;
    int DEFAULT_WIDTH = 600;
    int DEFAULT_HEIGHT = 400;
    private JLabel label;
    private JComboBox<String> faceCombo;
    private static final int FONTSIZE = 12;    
    
    public JComboBoxDemo(){
        setTitle("JComboBoxDemo");
        setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
        
        //添加label
        label = new JLabel("The quick brown fox jumps over the lazy dog.");
        label.setFont(new Font("Serif",Font.PLAIN, FONTSIZE));
        add(label, BorderLayout.CENTER);
        
        //构造一个监听器,响应事件
        ActionListener actionListener = new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                if(e.getSource() instanceof JComboBox){
                    JComboBox<String> comboBox = (JComboBox)e.getSource();
                    String fontName = comboBox.getSelectedItem().toString();
                    label.setFont(new Font(fontName, Font.PLAIN, FONTSIZE));
                }
            }
        };    
        
        //添加一个JComboBox
        faceCombo = new JComboBox<String>();
     faceCombo.setEditable(true); faceCombo.addActionListener(actionListener); faceCombo.setEnabled(
true); faceCombo.addItem("Serif"); faceCombo.addItem("SansSerif"); faceCombo.addItem("Monospaced"); faceCombo.addItem("Dialog"); faceCombo.addItem("DialogInput"); add(faceCombo, BorderLayout.SOUTH); } public static void main(String[] args) { // TODO Auto-generated method stub //创建窗体并指定标题 JComboBoxDemo frame = new JComboBoxDemo(); //关闭窗体后退出程序 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //自动适配所有控件大小 //frame.pack(); //设置窗体位置在屏幕中央 frame.setLocationRelativeTo(null); //显示窗体 frame.setVisible(true); } }

运行效果:

技术分享

Swing-JComboBox用法-入门

标签:

原文地址:http://www.cnblogs.com/pzy4447/p/4641463.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!