2017-11-20 2 views
0

텍스트 필드/콤보 상자/드롭 다운/등을 왼쪽에서 오른쪽으로 페이지 아래로 이동시키려는 간단한 스윙 응용 프로그램을 만들고 있습니다. 또한 텍스트 필드 크기와 콤보 상자의 크기를 웹 페이지와 같이 텍스트 크기보다 크고 더 크게 할 수 있기를 원합니다.Java Swing GUI 레이아웃

저는 창 목록을 포함하는 JFrame을 생성했습니다. 현재 검색 창에는 오른쪽에 lable이 있고 그 다음 텍스트 필드가 있고 검색 버튼이 있습니다. 검색 버튼은 모두 화면의 전체 길이로 세로로 나타납니다. 여기

코드입니다 :

public class SearchEvent { 

public JPanel createSearchPane() { 
    JTextField searchEvent = new JTextField(); 
    //searchEvent.setSize(10, 20); 
    //searchEvent.setSize(new Dimension(10, 10)); 
    JPanel panel = new JPanel(); 
    GridLayout topLayout = new GridLayout(1,1); 
    panel.setLayout(topLayout); 
    panel.add(new JLabel("Event to search")); 
    panel.add(searchEvent); 
} 
} 

MainClass{ 

private static void createAndShowGUI() { 
    JFrame frame = new JFrame("Search Event "); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    JTabbedPane tabbedPane = new JTabbedPane(); 

    tabbedPane.addTab("Search", null, new SearchEvent().createSearchPane(),"Search an event"); 
    tabbedPane.setMnemonicAt(0, KeyEvent.VK_1); 

      //Display the window. 
    frame.pack(); 
    frame.setVisible(true); 
} 

나는 화면의 오른쪽에 표시되는 텍스트 필드를 만들 수있는 방법, 텍스트 필드에 텍스트와 레이블의 크기하여 옆 왼쪽에 표시 텍스트 필드? 무엇을 위해

textField.setMinimumsize (tf.getPreferredsize()) textField.setMaximumSize (tf.getPreferredSize())

:

+3

[GridLayout constructor] (https://docs.oracle.com/javase/9/docs/api/java/awt/)에 대한 정보를 읽으십시오. GridLayout.html # GridLayout-int-int-)가 있습니다. 현재 하나의 행과 하나의 열이있는 GridLayout을 지정하고 있습니다. (GridLayout은 이것을 위해 사용할 레이아웃이 잘못되었으므로 [공식 튜토리얼] (https://docs.oracle.com/javase/tutorial/uiswing/layout/)의 다른 레이아웃에 대해 읽어보십시오. – VGR

+0

그래서 나는 보았습니다. 이것으로 이미 SpringLayout을 사용해보기로했다. 윈도우가 필드의 크기를 조정할 때 필드가 커지게되는 것과 동일한 문제입니다. 창 크기를 조정할 때 텍스트 필드가 더 커지지 않게하려면 텍스트 필드가 20 자 이상이 될 nevet이므로 필드가 큰 높이가되거나 창이 커질 때 너비가 필요하지 않습니다. 크기면 그것은 어리석은 것처럼 보입니다. 텍스트 필드에 최대 크기를 설정하면 창을 최대화 할 때 texffield가 사라지는 것처럼 작동하지 않는 것처럼 보입니다 (레이블은 올바른 크기와 올바른 위치에 있습니다). – pronane

+0

여기에서 복사 -> 여기에서 -> https://docs.oracle.com/javase/tutorial/displayCode.html?code=https://docs.oracle.com/javase/tutorial/uiswing/examples/layout /SpringGridProject/src/layout/SpringUtilities.java – pronane

답변

0

는 SpringLayout에 사용 나는 다음과 같은 2 명 선으로 ​​어떻게 원하는 것을 달성 나는 gridbaglayout을 배울 시간에 투자 할 가치가 있는지 확신하지 못한다.

관련 문제