2014-07-07 2 views
0

사용자가 입력하는 내용을 자동 완성하는 텍스트 상자를 만들어야합니다. 사용자가 일련의 가능성을 기반으로 새 문자를 입력 할 때마다 업데이트 할 수있는 JComboBox와 같은 것을 원합니다. JPanel 또는 JComponent를 확장하여 사용자 정의 구성 요소를 직접 생성하여이 작업을 수행하려고합니다. 내가 확신 할 수없는 것은 다른 모든 콘텐츠 위에 떠있는 프레임을 만드는 방법입니다. JComboBox의 드롭 다운을 칠 때처럼 배경 위에 또는 텍스트 상자 아래에 뜨는 가능성 목록을 어떻게 넣을 수 있습니까?스윙에서 드롭 다운을 만드는 방법은 무엇입니까?

import org.jdesktop.swingx.autocomplete.AutoCompleteDecorator; 

AutoCompleteDecorator이 클래스가 어떤 스윙 구성 요소에 대한 자동 완성을 설정하는 데 사용할 수 있습니다 정적 유틸리티 메소드가 포함

+0

[이 질문] (http://stackoverflow.com/questions/14186955/create-a-autocompleting-textbox-in-java-with-a-dropdown-list)에서 도움을 얻을 수 있습니다. – MikeM

+0

마지막으로 JPopupMenu 또는 JWindow 중 하나 또는 undecorated JFrame/JDialog – MadProgrammer

답변

1

당신은 당신의 프로젝트에 SwingX (마지막 버전)를 가져올 필요가있다. 그들은 스윙에 내장되어

jComboBox1 = new javax.swing.JComboBox(); 
jComboBox1.setEditable(true); 
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "alejandro", "berenice", "juan", "ana", "bartolo", "diana", "cesar" })); 
jComboBox1.setName("jComboBox1"); 
AutoCompleteDecorator.decorate(this.jComboBox1); 
+0

중 하나만 선택하면됩니다.하지만 문제는 가능한 범위를 벗어나는 내용을 사용자가 입력 할 수있게하려는 것입니다. – chasep255

0

는 JIDE 구성 요소를 사용하여 시도하고 스윙보다 더 많은 사전 GUI 기능을 제공 :

정적 방법에 JComboBox에 전달합니다.

관련 문제