2017-01-22 3 views
1

JComboBox에는 항목이 하나만 있습니다. 상자에이 항목을 채우면 즉시 combobox.setSelectedItem(item)으로 선택합니다. 하지만 불행히도 combobox.getSelectedIndex(0) 또는 combobox.getSelectedItem(item)으로 항목을 읽으면 -1/null이됩니다.Java Swing JComboBox에서만 사용할 수있는 항목 선택

확실히 어떤 아이템이 들어 있는지 알지만 그 케이스에 반응하는 진술을 추가하고 싶지는 않습니다.

콤보 상자의 외로운 항목을 어떻게 읽을 수 있습니까?

+0

죄송합니다. 어떻게 든 기본 텍스트에서 인사 해달라고 ... 안녕하세요 여러분 : D – j0chn

+0

코드를 보여 주시겠습니까? –

+1

귀하의 답변은 이미 정확했습니다 : D. 그래서 당신이 주저하지 않는다면 아무 코드도 게시하지 않을 것입니다. – j0chn

답변

3

문제

combobox.setSelectedItem(item)Objectitem 소요 아이템 사이를 검사한다. c ombobox.getSelecedIndex이 -1을 반환하기 때문에 이미 선택이 없다는 것을 이미 알고 있으므로 선택에 실패했습니다.

이유

당신은 setSelectedItem에 객체를 전달하지만 Object는 항목들 사이에서 찾을 수 없습니다. ObjectString이고 쉽게 String을 매개 변수로 전달할 수 있지만 전달하는 매개 변수는 String과 같지 않습니다. 유사한 버그입니다.

행동 테스트

String foo = "bar"; 
boolean theSame = (foo == "bar"); //false 
boolean similar = foo.equals("bar"); //true 

솔루션

사용하는 것과 동일한 Object 대신 비슷한 ObjectsetSelectedItem를 호출합니다.

+0

안녕하세요, 재생 해 주셔서 감사합니다. 그것은 실수였습니다. Constant를 통해 그것을 선택했을 때 작동합니다. 감사합니다 – j0chn

+0

당신은 오신 것을 환영합니다. –