그래서 이미지에서 보이는 것을 생성하는 다음 Java 코드가 있습니다. 레이아웃은 단추가 동일한 크기로 채워지고 채워지는 것을 제외하고는 내가 원했던 것입니다. 어쨌든 다른 답변처럼 GridBagLayout을 사용하지 않고 이것을 피할 수 있습니까? 나는 내부의 패널 크기를 더 작게 설정하려고 시도했지만 어쨌든 늘어났다.Java Swing GridLayout가 늘어 났습니까?
코드 :
//Set-up main window
JFrame mainwindow = new JFrame();
mainwindow.setSize(500, 500);
mainwindow.setTitle("Example");
//Add components
JTabbedPane tabs = new JTabbedPane();
GridLayout experimentLayout = new GridLayout(0,2,0,5);
JPanel pnl_Logon = new JPanel();
pnl_Logon.setLayout(experimentLayout);
JLabel lbl_Username = new JLabel("Username: ");
JLabel lbl_Password = new JLabel("Password: ");
JTextField txt_Username = new JTextField(10);
JPasswordField psw_Password = new JPasswordField(10);
JButton btn_Logon = new JButton("Logon");
JButton btn_Clear = new JButton("Clear");
pnl_Logon.add(lbl_Username);
pnl_Logon.add(txt_Username);
pnl_Logon.add(lbl_Password);
pnl_Logon.add(psw_Password);
pnl_Logon.add(btn_Logon);
pnl_Logon.add(btn_Clear);
tabs.addTab("Logon", pnl_Logon);
//Draw window
mainwindow.add(tabs);
mainwindow.show();
결과 : 이유
레이아웃 홀수 보이지만 (GridBagLayout을 비교)은 "간단한"용액 각각이 FlowLayout의 JPanel의 버튼으로 포장 될 수있다. – Marco13
그래서 각 버튼은 자체 레이아웃의 JPanel에 배치됩니까? 그런 다음 탭에 추가 할 다른 JPanel에 각 구성 요소를 추가하겠습니까? – Kyle
[MigLayout] (http://www.miglayout.com/) – PeterMmm