자바(JAVA)
그리드 백 레이아웃(Grid Bag Layout) 적용하기(JAVA, Swing)
길TV
2022. 5. 4. 11:41
1. Main.java에 아래의 코드를 붙여넣습니다.
package swingTest;
import javax.swing.JFrame;
public class Main {
public static void main(String[] args) {
JFrame frame = new MainFrame();
frame.setSize(300,200);
frame.setVisible(true);
}
}
2. MainFrame.java에 아래의 코드를 붙여넣습니다.
package swingTest;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MainFrame extends JFrame{
GridBagLayout gbl= new GridBagLayout();
GridBagConstraints gbc= new GridBagConstraints();
public MainFrame() {
super("Demo Frame");
JPanel wholePanel = new JPanel(gbl);
add(wholePanel, BorderLayout.CENTER);
JButton btn1,btn2,btn3,btn4,btn5;
btn1 = new JButton("0_0");
gbAdd(btn1, 0, 0, 1, 1,1,1,wholePanel);
btn2 = new JButton("1_0");
gbAdd(btn2, 1, 0, 2, 1,1,1,wholePanel);
btn3 = new JButton("0_1");
gbAdd(btn3, 0, 1, 1, 1,1,1,wholePanel);
btn4 = new JButton("1_1");
gbAdd(btn4, 1, 1, 1, 1,1,1,wholePanel);
btn5 = new JButton("2_1");
gbAdd(btn5, 2, 1, 1, 1,1,1,wholePanel);
}
public void gbAdd(Component c, int x, int y, int w, int h, int k, int t,JPanel jpanel) {
gbc.gridx = x;
gbc.gridy = y;
gbc.gridwidth = w; //넓이
gbc.gridheight = h; //높이
gbc.weightx = k;
gbc.weighty = t;
gbl.setConstraints(c, gbc); //컴포넌트를 컴포넌트 위치+크기 정보에 따라 GridBagLayout에 배치
jpanel.add(c);
}
}
3. 위 코드를 실행하면 아래와 같이 버튼이 구역별로 나뉘어 표시됩니다.