카테고리

분류 전체보기 (68)
JAVA-기본 (7)
JAVA-AWT (24)
JAVA-클래스의 중요메소드 (23)
JAVA-람다식 (0)
Android Studio (7)
Python (1)
OpenCV (1)
AWS (0)
webrtc (0)
javascript (4)
처리방침 (1)
rss 아이콘 이미지

JAVA-AWT-JPanel-07(GridBagLayout)02

JAVA-AWT/JPanel(layout) 2018. 6. 18. 18:30 Posted by IT-개발자
반응형

앞의 강의에서 GridBagLayout을 사용하는 방법으로 GridBagConstraints의 각 인스턴스를 지정하는 방법이였습니다.

  gbc.gridx = 0;

  gbc.gridy = 3;

  gbc.gridwidth = 1;

  gbc.gridheight = 1;

  add(b7gbc);

를 각각의 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();

 

        }

 

}


<결과물>

 자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.

반응형