문제

나를 얻으려고 이벤트를 화재 때마다 선택에서 이루어집 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();

나는 최근에이 매우 동일한 솔루션을 찾을 수 있는 간단한 원 할당하지 않고 특정한 변수에 대해 마지막으로 선택한 아이템과 새로운 선택 항목입니다.이 질문이 있지만,매우 도움이지 않은 솔루션을 제공합니다.이 내 문제를 해결,나는 그것을 해결 당신과 다른 사람.감사합니다.

어떻게 이전하거나 마지막 항목은?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top