Java如何将动作侦听器添加到JComboBox?
下面显示的代码,你如何将添加ActionListener到JComboBox组件。在代码段中,我们通过调用addActionListener()方法来添加侦听器,并将侦听器的实例ActionListener作为匿名类(没有指定名称的类)作为参数。
该ActionListener接口契约说,我们必须实现的actionPerformed(ActionEvente)方法。这是我们的程序将处理事件的地方。
package org.nhooo.example.swing;
import javax.swing.*;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ComboBoxActionListener extends JFrame {
public ComboBoxActionListener() {
initialize();
}
private void initialize() {
setSize(300, 300);
setLayout(new FlowLayout(FlowLayout.LEFT));
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
String[] names = new String[]{
"James", "Joshua", "Matt", "John", "Paul"
};
JComboBox comboBox = new JComboBox<String>(names);
comboBox.setEditable(true);
//为JComboBox组件创建一个ActionListener。
comboBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
//获取组件的来源,这是我们的组合
//框。
JComboBox comboBox = (JComboBox) event.getSource();
//打印选择的项目和操作命令。
Object selected = comboBox.getSelectedItem();
System.out.println("Selected Item = " + selected);
String command = event.getActionCommand();
System.out.println("Action Command = " + command);
//检测操作命令是否为“comboBoxEdited”"comboBoxEdited"
//或“comboBoxChanged”"comboBoxChanged"
if ("comboBoxEdited".equals(command)) {
System.out.println("User has typed a string in " +
"the combo box.");
} else if ("comboBoxChanged".equals(command)) {
System.out.println("User has selected an item " +
"from the combo box.");
}
}
});
getContentPane().add(comboBox);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new ComboBoxActionListener().setVisible(true);
}
});
}
}
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语