앞의 강의에서 GridBagLayout을 사용하는 방법으로 GridBagConstraints의 각 인스턴스를 지정하는 방법이였습니다.
gbc.gridx = 0;
gbc.gridy = 3;
gbc.gridwidth = 1;
gbc.gridheight = 1;
add(b7, gbc);
를 각각의 component에 구현하기에는 너무 많은 일이 필요하니 이것을 좌표화 시켜서
(버튼객체,0,3,1,1) 구현화하도록 하겠습니다.
import java.awt.GridBagConstraints; import java.awt.GridBagLayout;
import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JPanel;
public class G1 extends JFrame {
JPanel p1 = new JPanel(); JButton b1 = new JButton("1"); JButton b2 = new JButton("2"); JButton b3 = new JButton("3"); JButton b4 = new JButton("4"); JButton b5 = new JButton("5"); GridBagLayout grid = new GridBagLayout(); GridBagConstraints gbc = new GridBagConstraints();
public G1() {
p1.setLayout(grid);
gbc.fill = GridBagConstraints.BOTH; gbc.weightx = 1.0; gbc.weighty = 1.0;
make(b1, 0, 0, 1, 1); // 아래의 make함수를 지정 make(b2, 1, 0, 1, 1); make(b3, 2, 0, 1, 2); make(b4, 0, 1, 2, 1); make(b5, 0, 2, 3, 1);
p1.add(b1); p1.add(b2); p1.add(b3); p1.add(b4); p1.add(b5); add(p1);
// ------------------------------------------------ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐 setSize(300, 300); // 프레임 사이즈 지정 setVisible(true); // 프레임을 보이게 함 setLocationRelativeTo(null); // 프레임 실행시 위치 중앙 }
// make함수를 내가 지정합니다. // jcomponent인 jbutton의 객체에 x,y의 좌표의 시작점에서 w,h 크기의 단추를 만듭니다 public void make(JComponent c, int x, int y, int w, int h) { gbc.gridx = x; gbc.gridy = y; gbc.gridwidth = w; gbc.gridheight = h;
grid.setConstraints(c, gbc); // GridBagLayout의 GridBagConstraints의 set하는 방법
}
public static void main(String args[]) { G1 test = new G1();
}
} |
<결과물>
자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.
'JAVA-AWT > JPanel(layout)' 카테고리의 다른 글
JAVA-AWT-JPanel-07(GridBagLayout)03(계산기화면) (0) | 2018.06.18 |
---|---|
JAVA-AWT-JPanel-07(GridBagLayout)01 (0) | 2018.06.18 |
JAVA-AWT-JPanel-06(CardLayout) (0) | 2018.06.17 |
JAVA-AWT-JPanel-05(Layout지정 x) (0) | 2018.06.15 |
JAVA-AWT-JPanel-04(GridLayout) (0) | 2018.06.14 |