2013-02-03 2 views
2

저는 Java와 전체 스윙 개발에 익숙하지 않습니다. 세 개의 탭이있는 창에서 작업 중이며 각 구성 요소를 해당 탭에 추가하고 있습니다. 세 번째 탭에 텍스트 필드를 추가하기 시작했지만 전체 탭을 차지합니다. 다른 컴포넌트를 추가하면 공간을 확보 할 수 있지만, 처음에는 전체 탭 패널을 사용하지 않도록 만드는 방법이 없습니까?JTabbedPane 구성 요소가 전체 창을 사용합니다.

package literature.windows; 
import java.awt.*; 
import javax.swing.*; 

public class MainWindow extends JFrame { 

JPanel storiesPanel = new JPanel(); 
JPanel plotPanel = new JPanel(); 
JPanel charactersPanel = new JPanel(); 

JTextField addCharacterTextField = new JTextField("Enter Character's Name", 25); 

public MainWindow() { 

    setSize(800, 600); 

    JTabbedPane tabs = new JTabbedPane(); 
    tabs.addTab("Stories", storiesPanel); 
    tabs.addTab("Plot", plotPanel); 
    tabs.addTab("Characters", charactersPanel); 
    add(tabs); 

    tabs.setTabComponentAt(2, addCharacterTextField); 

    setVisible(true); 
    } 
} 

답변

2

현재이 탭의 전체 탭 구성 요소를 설정 중입니다. 대신 해당 탭의 컨테이너/패널에 JTextField을 추가해야합니다.

charactersPanel.add(addCharacterTextField); 
+0

감사와

tabs.setTabComponentAt(2, addCharacterTextField); 

교체! 나는 그걸 상상할 수 없다. – Marquisk2