텍스트 필드/콤보 상자/드롭 다운/등을 왼쪽에서 오른쪽으로 페이지 아래로 이동시키려는 간단한 스윙 응용 프로그램을 만들고 있습니다. 또한 텍스트 필드 크기와 콤보 상자의 크기를 웹 페이지와 같이 텍스트 크기보다 크고 더 크게 할 수 있기를 원합니다.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())
:
[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
그래서 나는 보았습니다. 이것으로 이미 SpringLayout을 사용해보기로했다. 윈도우가 필드의 크기를 조정할 때 필드가 커지게되는 것과 동일한 문제입니다. 창 크기를 조정할 때 텍스트 필드가 더 커지지 않게하려면 텍스트 필드가 20 자 이상이 될 nevet이므로 필드가 큰 높이가되거나 창이 커질 때 너비가 필요하지 않습니다. 크기면 그것은 어리석은 것처럼 보입니다. 텍스트 필드에 최대 크기를 설정하면 창을 최대화 할 때 texffield가 사라지는 것처럼 작동하지 않는 것처럼 보입니다 (레이블은 올바른 크기와 올바른 위치에 있습니다). – pronane
여기에서 복사 -> 여기에서 -> https://docs.oracle.com/javase/tutorial/displayCode.html?code=https://docs.oracle.com/javase/tutorial/uiswing/examples/layout /SpringGridProject/src/layout/SpringUtilities.java – pronane