2013-06-30 6 views
0

물질 L & F를 사용 중입니다. 팝업에서 원하는 값을 선택할 수 있도록 JComboBox을 편집 가능으로 설정했거나 새 값을 입력하십시오. 그것의 편집자.Java - 물질 L & F가있는 편집 가능한 JComboBox에서 백 스페이스 사용 허용

새 값을 입력해도 제대로 작동하지만 콤보 편집기에서 잘못 입력 된 문자를 삭제하고 백 스페이스를 클릭하여 지우지 않고 편집기에서 문자를 선택하면됩니다.

enter image description here

내가 콤보 편집기는 키보드 문자를 입력하거나 백 스페이스 때의 JTextField처럼 작동하거나에서 삭제할 그래서 할 수있는 방법이있다 : 여기에 스크린 샷은 무엇입니까? 아니면이 원인이 무엇입니까?

+2

보다 나은 도움을 받으려면 [SSCCE] (http://sscce.org)를 게시하십시오. –

답변

6

SSCCE의 중요성에 대해서는 아래를 참조하십시오. 버그가있는 경우가 많으며 실제로는 실제 코드에서 잘못된 것이 있습니다. SSCCE 없이는 현명하지 않습니다.

에 시작 :

enter image description here

백 스페이스를 JComboBox을 선택하고 을 누르면 :

enter image description here

import javax.swing.JComboBox; 
import javax.swing.JFrame; 
import javax.swing.SwingUtilities; 

public class Test { 

    public Test() { 
     SwingUtilities.invokeLater(new Runnable() { 
      @Override 
      public void run() { 
       JFrame frame = new JFrame("Test"); 
       frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 


       JComboBox jc = new JComboBox(new String[]{"Hello", "Bye", "World", "Cruel"}); 
       jc.setEditable(true); 
       frame.add(jc); 

       frame.pack(); 
       frame.setVisible(true); 

      } 
     }); 
    } 

    public static void main(String[] args) { 
     new Test(); 
    } 
} 

나를 위해 잘 작동하는 것 같다 3,516,

UPDATE 의견으로 당

는 :

나는 그것이 잘 작동 것이라고 생각하지 않았다! ... 그것은 물질의 문제입니다. L & 내가 사용하고 있습니다.

는 버그에 대한 자세한 내용은 아래를 참조 언급 한 바와 같이

Substance: Editable JComboBox does not support backspace key

:

이것은 의도적으로 설계된 동작입니다. 이것은 이 편집 가능한 콤보 박스에 자동 완성을 추가하는 물질의 "느낌"부분입니다. 내가 링크 된 버그 로그를 해독하기위한 (@ 브래드에

감사 :

또는 더 L에 대한 & FS 및/또는 자신의

업데이트 2을 할 수있는 방법을 내 대답 here 참조 물질에서 : P)는이 문제를 해결하기 위해 간단하게 수행

UIManager.put(LafWidget.COMBO_BOX_NO_AUTOCOMPLETION, Boolean.TRUE); 
+0

@mKorbel +1 내 생각에도 OP가 자동 완성을 시도하고 있지만 SSCCE가없는 것처럼 보입니다. ( –

+0

:-) ................ 동의 – mKorbel

+0

@ 데이비드 .. 나는 그것이 잘 될 것이라고 생각하지 않았다! ... 그것은 물질의 문제입니다. L & F 나는 사용하고있다. – Brad

0
UIManager.put(LafWidget.COMBO_BOX_NO_AUTOCOMPLETION, Boolean.TRUE); 

나를 위해이 작품!