JComboBox 선택을 변경할 수 있습니다.
-
09-06-2019 - |
문제
나를 얻으려고 이벤트를 화재 때마다 선택에서 이루어집 JComboBox
.
문제는 없다는 것을 분명 addSelectionListener()
방법입니다.
내가 사용하려고했습니다 actionPerformed()
, 지만,그것은 결코가 발생합니다.
짧은 재정의 모델 JComboBox
, 에,나는 아이디어.
알림을 수신하려면 어떻게 해야 하나를 선택의 변경에 JComboBox
?**
편집: 내가 죄송합니다.그것은 최고의 안드로이드 애플 리케이 사용하던 무례한 행동을 서브 클래스 JComboBox
, 지만,는 그 질문에 이후의 대답은 좋습니다.
해결책
에 반응해야만 합니다 ActionListeners, 은 다음과 같습니다.
combo.addActionListener (new ActionListener () {
public void actionPerformed(ActionEvent e) {
doSomething();
}
});
@존 Calsbeek 바르게 지는 addItemListener()
도 작동합니다.를 얻을 수 있습 2 ItemEvents
, 하지만,한 deselection 이전에 선택 항목,그리고 다른 선택에 대한의 새로운 항목입니다.사용하지 않는 모두 이벤트 유형을!
다른 팁
코드 예제의 ItemListener
구현
class ItemChangeListener implements ItemListener{
@Override
public void itemStateChanged(ItemEvent event) {
if (event.getStateChange() == ItemEvent.SELECTED) {
Object item = event.getItem();
// do something with object
}
}
}
이제 우리만 얻을 선택 항목입니다.
다음 추가 수신기기의 JComboBox
addItemListener(new ItemChangeListener());
나는 것도 itemStateChanged()
방법 ItemListener
는 경우 인터페이스 jodonnell 의 솔루션은 실패합니다.
여기를 만들 콤보를 추가 수신기에 대한 항목을 선택 변경:
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
}
});
}
이러한 시도할 수 있습니다
int selectedIndex = myComboBox.getSelectedIndex();
-또는-
Object selectedObject = myComboBox.getSelectedItem();
-또는-
String selectedValue = myComboBox.getSelectedValue().toString();
나는 최근에이 매우 동일한 솔루션을 찾을 수 있는 간단한 원 할당하지 않고 특정한 변수에 대해 마지막으로 선택한 아이템과 새로운 선택 항목입니다.이 질문이 있지만,매우 도움이지 않은 솔루션을 제공합니다.이 내 문제를 해결,나는 그것을 해결 당신과 다른 사람.감사합니다.