e766. listening for action events from a jcombobox component.txt
来自「这里面包含了一百多个JAVA源文件」· 文本 代码 · 共 36 行
TXT
36 行
Action events are generated whenever the selected item changes. These events are generated even while the user is moving through items in the displayed popup menu. Unlike item events (see e765 Listening for Changes to the Selected Item in a JComboBox Component), action events are generated even if the new item is the same as the old item.
// Create component
String[] items = {"item1", "item2"};
JComboBox cb = new JComboBox(items);
cb.setEditable(true);
// Create and register listener
MyActionListener actionListener = new MyActionListener();
cb.addActionListener(actionListener);
class MyActionListener implements ActionListener {
// Retain the previously selected item in order to determine whether
// the new item is the same
Object oldItem;
// This method is called whenever the user or program changes the selected item.
// Note: The new item may be the same as the previous item.
public void actionPerformed(ActionEvent evt) {
JComboBox cb = (JComboBox)evt.getSource();
// Get the new item
Object newItem = cb.getSelectedItem();
// Determine if different from previously selected item
boolean same = newItem.equals(oldItem);
oldItem = newItem;
if ("comboBoxEdited".equals(evt.getActionCommand())) {
// User has typed in a string; only possible with an editable combobox
} else if ("comboBoxChanged".equals(evt.getActionCommand())) {
// User has selected an item; it may be the same item
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?