Java学习——69.组合框JComboBox

组合框组合框由一个文本行和一个列表框组成,表现为一个右边带向下箭头的文本行。

1、      JComboBox组合框类

JComboBox类声明如下:

public class JComboBox extends JComponent  implements

ItemSelectable, ListDataListener, ActionListener,Accessible

{

public JComboBox()

public JComboBox(T items[])//由对象数组提供数据项

public void setEditable(boolean edit ) //是否可编辑,默认false

public Object getSelectedItem()//返回选中数据项对象

public void setSelectedItem(Object item) //设置选中项

public int getSelectedIndex()//返回选中数据项序号

public void setSelectedIndex(int i) //选中第i(≥0)项

public void addItem(T item)//添加数据项

public void removeItem(Object item)//删除数据项

public void removeItemAt(int i)//删除第i(≥0)项

public void removeAllItems()//删除所有项,触发动作事件

public void addActionListener(ActionListener listener)

}

2、组合框响应动作事件

组合框响应的是ActionEvent事件,其接口名为:ActionListener,接口中的方法只有一个actionPerformed(ActionEvent ev)。

3、示例

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

public class JComboBoxlearn extends JFrame implements ActionListener

{

private JComboBox combox;

private JTextField text;

public JComboBoxlearn()

{

super("组合框学习");

this.setVisible(true);

this.setSize(200, 100);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setLocationRelativeTo(null);

String s[]={"云南","湖南"};//字符串

DefaultComboBoxModel model=newDefaultComboBoxModel(s);//组合框模型

combox=new JComboBox(model);//创建组合框

combox.addActionListener(this);//注册事件监听器

this.getContentPane().add(combox,"North");

text=new JTextField(10);

this.getContentPane().add(text, "South");

text.setEditable(false);

}

public void actionPerformed(ActionEvent ex)

{

if(combox.getSelectedItem().equals("云南")){

text.setText("您选择的省份是云南");

combox.addItem("广州");

}

elseif(combox.getSelectedIndex()==1){

text.setText("您选择的省份是湖南");

combox.addItem("北京");

}

}

public static void main(String args[])

{

new JComboBoxlearn();

}

}

其运行结果如下:

单击组合框,运行结果如下:

选中云南后,触发动作事件,为文本行设置文本:

同时为组合框添加项:广州,运行结果如下:

选中湖南项,触发动作事件,为文本行设置文本:

同时为组合框添加项,如下图所示:

(0)

相关推荐