All*_*nde 138 java swing jcombobox itemlistener
无论什么时候做出选择,我都试图让事件发生JComboBox
.
我遇到的问题是没有明显的addSelectionListener()
方法.
我试过用actionPerformed()
,但它永远不会开火.
如果没有超越模型JComboBox
,我就没有想法了.
如何获得有关选择更改的通知JComboBox
?**
编辑:我要道歉.事实证明我使用了一个行为不端的子类JComboBox
,但是我会留下问题,因为你的答案是好的.
jod*_*ell 152
它应该响应ActionListeners,如下所示:
combo.addActionListener (new ActionListener () {
public void actionPerformed(ActionEvent e) {
doSomething();
}
});
Run Code Online (Sandbox Code Playgroud)
@John Calsbeek正确地指出它addItemListener()
也会起作用.ItemEvents
但是,您可以获得2 ,其中一个用于取消选择先前选择的项目,另一个用于选择新项目.只是不要使用这两种事件类型!
Via*_*lav 145
代码ItemListener
实现示例
class ItemChangeListener implements ItemListener{
@Override
public void itemStateChanged(ItemEvent event) {
if (event.getStateChange() == ItemEvent.SELECTED) {
Object item = event.getItem();
// do something with object
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我们只获得选定的项目.
然后只需将侦听器添加到您的JComboBox
addItemListener(new ItemChangeListener());
Run Code Online (Sandbox Code Playgroud)
Ahu*_*zda 11
这里创建一个ComboBox,为项目选择更改添加一个监听器:
JComboBox comboBox = new JComboBox();
comboBox.setBounds(84, 45, 150, 20);
contentPane.add(comboBox);
JComboBox comboBox_1 = new JComboBox();
comboBox_1.setBounds(84, 97, 150, 20);
contentPane.add(comboBox_1);
comboBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent arg0) {
//Do Something
}
});
}
Run Code Online (Sandbox Code Playgroud)
小智 7
你可以尝试这些
int selectedIndex = myComboBox.getSelectedIndex();
Run Code Online (Sandbox Code Playgroud)
-要么-
Object selectedObject = myComboBox.getSelectedItem();
Run Code Online (Sandbox Code Playgroud)
-要么-
String selectedValue = myComboBox.getSelectedValue().toString();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
311745 次 |
最近记录: |