카테고리

분류 전체보기 (68)
JAVA-기본 (7)
JAVA-AWT (24)
JFrame (1)
JLabel (2)
JButton (1)
JPanel(layout) (9)
Color-Font (2)
JTextField-JPasswordField (2)
JScrollBar (1)
JMenu-JMenuBar-JMenuItem (3)
ActionListener (3)
JAVA-클래스의 중요메소드 (23)
JAVA-람다식 (0)
Android Studio (7)
Python (1)
OpenCV (1)
AWS (0)
webrtc (0)
javascript (4)
처리방침 (1)
rss 아이콘 이미지
반응형

앞의 강의 GridBagLayout 01과 02 를 배웠다면 이제 계산기 화면을 구현하겠습니다.


 import java.awt.GridBagConstraints;

import java.awt.GridBagLayout;

import java.awt.GridLayout;

 

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();

        JPanel p2 = new JPanel();

        JButton b0 = new JButton("0");

        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");

        JButton b6 = new JButton("6");

        JButton b7 = new JButton("7");

        JButton b8 = new JButton("8");

        JButton b9 = new JButton("9");

        JButton b10 = new JButton(".");

        JButton b11 = new JButton("+");

        JButton b12 = new JButton("-");

        JButton b13 = new JButton("*");

        JButton b14 = new JButton("/");

        JButton b15 = new JButton("( )");

        JButton b16 = new JButton("<-");

        JButton b17 = new JButton("CE");

        JButton b18 = new JButton("=");

 

        GridBagLayout grid = new GridBagLayout();

        GridBagConstraints gbc = new GridBagConstraints();

 

        public G1() {

              

              

              

               setLayout(new GridLayout(2,1));

              

              

              

               p1.setLayout(grid);

 

               gbc.fill = GridBagConstraints.BOTH;

               gbc.weightx = 1.0;

               gbc.weighty = 1.0;

 

               make(b17, 0, 0, 1, 1);

               make(b16, 1, 0, 1, 1);

               make(b15, 2, 0, 1, 1);

               make(b14, 3, 0, 1, 1);

 

               make(b7, 0, 1, 1, 1);

               make(b8, 1, 1, 1, 1);

               make(b9, 2, 1, 1, 1);

               make(b13, 3, 1, 1, 1);

 

               make(b4, 0, 2, 1, 1);

               make(b5, 1, 2, 1, 1);

               make(b6, 2, 2, 1, 1);

               make(b12, 3, 2, 1, 1);

 

               make(b1, 0, 3, 1, 1);

               make(b2, 1, 3, 1, 1);

               make(b3, 2, 3, 1, 1);

               make(b11, 3, 3, 1, 1);

 

               make(b0, 0, 4, 2, 1); // 아래의 make함수를 지정

               make(b10, 2, 4, 1, 1);

               make(b18, 3, 4, 1, 1);

              

               add(p2);

               add(p1);

               p1.add(b0);

               p1.add(b1);

               p1.add(b2);

               p1.add(b3);

               p1.add(b4);

               p1.add(b5);

               p1.add(b6);

               p1.add(b7);

               p1.add(b8);

               p1.add(b9);

               p1.add(b10);

               p1.add(b11);

               p1.add(b12);

               p1.add(b13);

               p1.add(b14);

               p1.add(b15);

               p1.add(b16);

               p1.add(b17);

               p1.add(b18);

              

               // ------------------------------------------------

               setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

               // 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐

               setSize(500, 500); // 프레임 사이즈 지정

               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)02  (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

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();

 

        }

 

}


<결과물>

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

반응형

JAVA-AWT-JPanel-07(GridBagLayout)01

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

아래는 GridBagLayout의 생성자입니다.


GridBagLayout은 GridLayout을 더 유연하게 사용할 수 있습니다.

GridLayout은 셀 영역이 (1x1) 모두 같은 형태이지만 

GridBagLayout 은 엑셀처럼 셀을 병합하여 사용자가 원하는 스타일로 지정할 수 있습니다.



GridBagLayout은 생성에 다른 Layout에 비하면 조금 까다롭지만 확인해보도록 합시다.

1) GridBagLayout의 생성은 앞의 Layout과 같습니다. 

setLayout(new GridBagLayout()); 


2) 레이아웃은 GridBagConstraints의 변수와 관계가 있다. (Constraints는 영어로 제약/ 통제)

아래는 GridBagConstraints의 생성자 입니다.


당연히 레이아웃이 통제를 받으니 GridBagConstraints는 필요한 존재입니다.

GridBagConstraints의 인스턴스를 확인하도록 하겠습니다.


GridBagConstraints.girdx 는 grid행렬의 시작점 x좌표

GridBagConstraints.girdy 는 grid행렬의 시작점 y좌표

GridBagConstraints.gridwidth 는grid행렬의 w너비(버튼이면 버튼의 가로 길이)

GridBagConstraints.gridheight 는grid행렬의 h너비(버튼이면 버튼의 세로 길이)

GridBagConstraints.weightx 는 비율로 영역 분배

GridBagConstraints.weighty 는 비율로 영역 분배



GridBagConstraints.fill 은 component을 배치하고 남는 여백 채우는 것

GridBagConstraints.fill= GridBagConstraints.BOTH             (X,Y 축 채움)

GridBagConstraints.fill= GridBagConstraints.HORIZONTAL  (X 축 채움)

GridBagConstraints.fill= GridBagConstraints.VERTICAL        (Y 축 채움)

GridBagConstraints.fill= GridBagConstraints.NONE             (X,Y 축 COMPONENT 그대로)



3)GridBagLayout은 GridBagConstraints을 아래와 같이 사용합니다.

add(component, GridBagConstraints의 객체이름);

예) 

JButton b1=new JButton();

GridBagConstraints gbc=new GridBagConstraints();

add( b1, gbc);



위의 사항을 보셨다면 아래의 내용을 살펴보도록 합시다.

 import java.awt.GridBagConstraints;

import java.awt.GridBagLayout;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

 

public class M7 extends JFrame {

        JPanel p1 = new JPanel();

        JButton b1 = new JButton("1");

        JButton b2 = new JButton("2");

 

        public M7() {

 

               p1.setLayout(new GridBagLayout()); //레이아웃 생성자

               GridBagConstraints gbc=new GridBagConstraints();

               //GridBagLayout 필요한 GridBagConstraints 생성자

              

               gbc.fill=GridBagConstraints.BOTH;

               //x,y 다채움

              

              

               gbc.weightx=0.2;// 비율이 0.2:0.1이므로 버튼의 크기는 가로축으로 2

               gbc.gridx=0;  

               gbc.gridy=0;   //버튼이 두개로 0,0 기준으로 생성

               p1.add(b1,gbc);

                             

              

               gbc.weightx=0.1; // 비율이 0.2:0.1이므로 버튼의 크기는 가로축으로 1

               gbc.gridx=1;  

               gbc.gridy=0;   //버튼이 두개로 1,0 버튼 생성시작점

              

               p1.add(b2,gbc); //

              

               add(p1);

              

              

              

               // ------------------------------------------------

               setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

               // 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐

               setSize(500, 500); // 프레임 사이즈 지정

               setVisible(true); // 프레임을 보이게

               setLocationRelativeTo(null); // 프레임 실행시 위치 중앙

        }

 

        public static void main(String args[]) {

               M7 test = new M7();

 

        }

}



<결과물>


위의 사항을 보셨다면 아래의 내용을 살펴보도록 합시다.


 import java.awt.GridBagConstraints;

import java.awt.GridBagLayout;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

 

public class M6 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");

        JButton b6 = new JButton("6");

        JButton b7 = new JButton("7");

 

        public M6() {

 

               setLayout(new GridBagLayout());

               GridBagConstraints gbc = new GridBagConstraints();

               gbc.fill = GridBagConstraints.BOTH;

               gbc.weightx = 1.0;

               gbc.weighty = 1.0;

               // y축의 비율은 1이며 아래는 0.5이다. 그렇다면 아래 전까지 모든 y셀은 두배가된다

               // 1번과 4 버튼의 y축의 길이는 6번과 7번축보다 2배라는

 

               gbc.gridx = 0;

               gbc.gridy = 0;

               gbc.gridwidth = 1;

               gbc.gridheight = 1;

               add(b1, gbc);

 

               gbc.gridx = 1;

               gbc.gridy = 0;

               gbc.gridwidth = 1;

               gbc.gridheight = 1;

               add(b2, gbc);

 

               gbc.gridx = 2;

               gbc.gridy = 0;

               gbc.gridwidth = 1;

               gbc.gridheight = 1;

               add(b3, gbc);

 

               gbc.gridx = 0;

               gbc.gridy = 1;

               gbc.gridwidth = 2;

               gbc.gridheight = 1;

               add(b4, gbc);

 

               gbc.gridx = 2;

               gbc.gridy = 1;

               gbc.gridwidth = 1;

               gbc.gridheight = 1;

               add(b5, gbc);

 

               gbc.weighty = 0.5;

               // y축의 비율은 1이며 아래는 0.5이다. 그렇다면 아래 전까지 모든 y셀은 두배가된다

               // 1번과 4 버튼의 y축의 길이는 6번과 7번축보다 2배라는

               gbc.gridx = 0;

               gbc.gridy = 2;

               gbc.gridwidth = 3;

               gbc.gridheight = 1;

               add(b6, gbc);

 

               gbc.gridx = 0;

               gbc.gridy = 3;

               gbc.gridwidth = 1;

               gbc.gridheight = 1;

               add(b7, gbc);

 

               // ------------------------------------------------

               setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

               // 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐

               setSize(500, 500); // 프레임 사이즈 지정

               setVisible(true); // 프레임을 보이게

               setLocationRelativeTo(null); // 프레임 실행시 위치 중앙

        }

 

        public static void main(String args[]) {

               M6 test = new M6();

 

        }

 

}



<결과물>

다음강의에서는 GridBagLayout을 더 효과적으로 사용하는 법을 알려드리겠습니다.

  gbc.gridx = 0;

  gbc.gridy = 3;

  gbc.gridwidth = 1;

  gbc.gridheight = 1;

  add(b7gbc);

를 각 component에 구현하기에는 너무 많은 일이 필요하니 이것을 좌표화 시켜서 

(b7,0,3,1,1) 구현화하도록 하겠습니다.


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


반응형

JAVA-AWT-JPanel-06(CardLayout)

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

아래는 CardLayout의 생성자입니다.


card 레이아웃은 카드가 겹쳐져 있는 상태의 레이아웃입니다.

 import java.awt.CardLayout;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

 

public class M4 extends JFrame{

        JPanel p1=new JPanel();

        JButton b1= new JButton("1");

        JButton b2= new JButton("2");

        JButton b3= new JButton("3");

 

       

       

        public M4() {

               p1.setLayout(new CardLayout(10,10));

               add(p1);

              

               p1.add(b1);

               p1.add(b2);

               p1.add(b3);

              

              

               setLocationRelativeTo(null);

               setSize(500,500);

               setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

               setVisible(true);

              

        }

       

        public static void main(String args[]) {

               M4 test= new M4();

        }

}


<결과물>

panel이 모두 겹쳐있는 상태입니다. 1,2,3

응용은 추후 강좌에서 하도록 하겠습니다.

개념만 이해하시고 넘어가시죠^^


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


반응형

'JAVA-AWT > JPanel(layout)' 카테고리의 다른 글

JAVA-AWT-JPanel-07(GridBagLayout)02  (0) 2018.06.18
JAVA-AWT-JPanel-07(GridBagLayout)01  (0) 2018.06.18
JAVA-AWT-JPanel-05(Layout지정 x)  (0) 2018.06.15
JAVA-AWT-JPanel-04(GridLayout)  (0) 2018.06.14
JAVA-AWT-JPanel-03(FlowLayout)  (0) 2018.06.14

JAVA-AWT-JPanel-05(Layout지정 x)

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

1.JPanel p1=new JPanel(LayoutManager layout);

레이아웃을 지정합니다.

레이아웃의 종류는 BorderLayout, GridLayout, FLowLayout, CardLayout, GridBagLayout, BoxLayout 이 있습니다.

 

레이아웃을 지정할 때는 객체를 생성해서 사용해야됩니다. 


여기서는 레이아웃을 지정하지 않고 사용자가 원하는 위치에 component를 넣을것입니다.



setLayout(null); 메소드를 사용하여 레이아웃을 지정하지 않겠습니다.
setBounds를 이용하여 x,y,w,h의 int 사이즈를 지정합니다.

 package AWT프로그래밍;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JTextField;

 

public class set01{

 

        JFrame f= new JFrame();

        JButton b1 = new JButton("1");

        JButton b2 = new JButton("2");

        JButton b3 = new JButton("3");

        JButton b4 = new JButton("4");

public set01() {

       

 

                       f.setSize(500, 500);

                       f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

                       f.setLocationRelativeTo(null);

                       f.setResizable(false);

 

                       JTextField t1 = new JTextField();

 

                       f.setLayout(null); // 레이아웃을 지정하지 않는다.

 

                       b1.setBounds(10, 10, 100, 100);

                       // setBounds x,y 위치에 w,h 사이즈의 component 만든다

                       b2.setBounds(110, 110, 100, 100);

                       b3.setBounds(210, 210, 100, 100);

                       b4.setBounds(310, 310, 100, 100);

             


          b4.setBounds(350, 350, 100, 100);

                       t1.setBounds(300, 0, 100, 100);

 

                       f.add(b1);

                       f.add(b2);

                       f.add(b3);

                       f.add(b4);

                       f.add(t1);

 

                       f.setVisible(true);

 

}

 

public static void main(String args[]) {

        set01 yrg=new set01();

}

}


<결과물>



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

반응형

'JAVA-AWT > JPanel(layout)' 카테고리의 다른 글

JAVA-AWT-JPanel-07(GridBagLayout)01  (0) 2018.06.18
JAVA-AWT-JPanel-06(CardLayout)  (0) 2018.06.17
JAVA-AWT-JPanel-04(GridLayout)  (0) 2018.06.14
JAVA-AWT-JPanel-03(FlowLayout)  (0) 2018.06.14
JAVA-AWT-JPanel-02(BorderLayout)  (0) 2018.06.14

JAVA-AWT-JPanel-04(GridLayout)

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




1.JPanel p1=new JPanel(LayoutManager layout);

레이아웃을 지정합니다.

레이아웃의 종류는 BorderLayout, GridLayout, FLowLayout, CardLayout, GridBagLayout, BoxLayout 이 있습니다.

 

레이아웃을 지정할 때는 객체를 생성해서 사용해야됩니다. (예: new GridLayout(x,y);)

x,y를 지정해서 표의 형식의 레이아웃입니다.


import java.awt.Color;

import java.awt.GridLayout;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

 

public class JPanel01 {

 

        JFrame f = new 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");

        JButton b6 = new JButton("6");

 

        public JPanel01() {

 

               f.add(p1); // 프레임 f 판넬p1 추가한다.

               p1.setLayout(new GridLayout(3,2)); // 판넬의 레이아웃을 GridLayout으로 지정 3 x 2의 표를 지정 

 

               b1.setBackground(Color.PINK); // 버튼의 색깔지정

 

               p1.add(b1);

               p1.add(b2);

               p1.add(b3);

               p1.add(b4);

               p1.add(b5);

               p1.add(b6);

 

               f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐

               f.setLocation(600, 300); // 프레임 실행시 위치 지정

               f.setSize(500, 500); // 프레임 사이즈 지정

               f.setVisible(true); // 프레임을 보이게

        }

 

        public static void main(String args[]) {

               JPanel01 panel = new JPanel01();

 

        }

}

 


<결과물>


2. 간격있는 GridLayout 지정

new GridLayout(x,y,가로갭, 세로갭);


 mport java.awt.Color;

import java.awt.GridLayout;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

 

public class JPanel01 {

 

        JFrame f = new 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");

        JButton b6 = new JButton("6");

 

        public JPanel01() {

 

               f.add(p1); // 프레임 f 판넬p1 추가한다.

               p1.setLayout(new GridLayout(3,2,40,10)); 

// 판넬의 레이아웃을 GridLayout으로 지정 3 x 2의 표를 지정 

 

               b1.setBackground(Color.PINK); // 버튼의 색깔지정

 

               p1.add(b1);

               p1.add(b2);

               p1.add(b3);

               p1.add(b4);

               p1.add(b5);

               p1.add(b6);

 

               f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

                // 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐

               f.setLocation(600, 300); // 프레임 실행시 위치 지정

               f.setSize(500, 500); // 프레임 사이즈 지정

               f.setVisible(true); // 프레임을 보이게 

        }

 

        public static void main(String args[]) {

               JPanel01 panel = new JPanel01();

 

        }

}

 


<결과물>



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

반응형

'JAVA-AWT > JPanel(layout)' 카테고리의 다른 글

JAVA-AWT-JPanel-06(CardLayout)  (0) 2018.06.17
JAVA-AWT-JPanel-05(Layout지정 x)  (0) 2018.06.15
JAVA-AWT-JPanel-03(FlowLayout)  (0) 2018.06.14
JAVA-AWT-JPanel-02(BorderLayout)  (0) 2018.06.14
JAVA-AWT-JPanel-01  (0) 2018.06.14

JAVA-AWT-JPanel-03(FlowLayout)

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

 

1.JPanel p1=new JPanel(LayoutManager layout);

레이아웃을 지정합니다.

레이아웃의 종류는 BorderLayout, GridLayout, FLowLayout, CardLayout, GridBagLayout, BoxLayout 이 있습니다.

 

레이아웃을 지정할 때는 객체를 생성해서 사용해야됩니다. (예: new FlowLayout();)

순서대로 배치되는 레이아웃입니다.

 

 

import java.awt.Color;

import java.awt.FlowLayout;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

 

public class JPanel01 {

 

        JFrame f = new 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");

 

        public JPanel01() {

 

               f.add(p1); // 프레임 f 판넬p1 추가한다.

               p1.setLayout(new FlowLayout()); // 판넬의 레이아웃을 FlowLayout으로 지정

 

               b1.setBackground(Color.PINK); // 버튼의 색깔지정

 

               p1.add(b1);

               p1.add(b2);

               p1.add(b3);

               p1.add(b4);

               p1.add(b5);

 

               f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐

               f.setLocation(600, 300); // 프레임 실행시 위치 지정

               f.setSize(500, 500); // 프레임 사이즈 지정

               f.setVisible(true); // 프레임을 보이게

        }

 

        public static void main(String args[]) {

               JPanel01 panel = new JPanel01();

 

        }

}

 

 

<결과물>


2.간격 및 배치를 할수있다.


FlowLayout( FlowLayout.CENTER, 가로사이 길이, 세로간격 길이)


FlowLayout.CENTER

FlowLayout.RIGHT

FlowLayout.LEFT

FlowLayout.LEADING --?

FlowLayout.TRAILING --?


 import java.awt.Color;

import java.awt.FlowLayout;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

 

public class JPanel01 {

 

        JFrame f = new 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");

 

        public JPanel01() {

 

               f.add(p1); // 프레임 f 판넬p1 추가한다.

               p1.setLayout(new FlowLayout(FlowLayout.CENTER,10,100)); 

// 판넬의 레이아웃을 FlowLayout으로 지정

 

               b1.setBackground(Color.PINK); // 버튼의 색깔지정

 

               p1.add(b1);

               p1.add(b2);

               p1.add(b3);

               p1.add(b4);

               p1.add(b5);

 

               f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

// 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐

               f.setLocation(600, 300); // 프레임 실행시 위치 지정

               f.setSize(500, 500); // 프레임 사이즈 지정

               f.setVisible(true); // 프레임을 보이게 

        }

 

        public static void main(String args[]) {

               JPanel01 panel = new JPanel01();

 

        }

}



 <결과물>



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

반응형

'JAVA-AWT > JPanel(layout)' 카테고리의 다른 글

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
JAVA-AWT-JPanel-02(BorderLayout)  (0) 2018.06.14
JAVA-AWT-JPanel-01  (0) 2018.06.14

JAVA-AWT-JPanel-02(BorderLayout)

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


 

1.JPanel p1=new JPanel(LayoutManager layout);

레이아웃을 지정합니다.

레이아웃의 종류는 BorderLayout, GridLayout, FLowLayout, CardLayout, GridBagLayout, BoxLayout 이 있습니다.

 

레이아웃을 지정할 때는 객체를 생성해서 사용해야됩니다. (예: new BorderLayout();)

 

 

BorderLayout

아래의 그림이 BorderLayout입니다.

NORTH

WEST

CENTER

EAST

SOUTH

 

 

import java.awt.BorderLayout;

import java.awt.Color;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

 

public class JPanel01 {

 

        JFrame f = new 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");

       

        public JPanel01() {

              

               f.add(p1); // 프레임 f 판넬p1 추가한다.

               p1.setLayout(new BorderLayout()); // 판넬의 레이아웃을 BorderLayout으로 지정

              

              

               b1.setBackground(Color.PINK); //버튼의 색깔지정

              

               p1.add(b1,BorderLayout.CENTER); //레이아웃지정

               p1.add(b2,BorderLayout.NORTH);

               p1.add(b3,BorderLayout.SOUTH);

               p1.add(b4,BorderLayout.EAST);

               p1.add(b5,BorderLayout.WEST);

              

       

               f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐

               f.setLocation(600, 300); // 프레임 실행시 위치 지정

               f.setSize(500, 500); // 프레임 사이즈 지정

               f.setVisible(true); // 프레임을 보이게

        }

 

        public static void main(String args[]) {

               JPanel01 panel = new JPanel01();

 

        }

}

 

 

<결과물>

 

 

2. 간격 지정이 가능합니다.

new BorderLayout(가로간격 , 세로간격 );

 import java.awt.BorderLayout;

import java.awt.Color;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

 

public class JPanel01 {

 

        JFrame f = new 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");

       

        public JPanel01() {

              

               f.add(p1); // 프레임 f 판넬p1 추가한다.

               p1.setLayout(new BorderLayout(40,10)); 

// 판넬의 레이아웃을 BorderLayout으로 지정

              

              

               b1.setBackground(Color.PINK); //버튼의 색깔지정

              

               p1.add(b1,BorderLayout.CENTER); //레이아웃지정

               p1.add(b2,BorderLayout.NORTH);

               p1.add(b3,BorderLayout.SOUTH);

               p1.add(b4,BorderLayout.EAST);

               p1.add(b5,BorderLayout.WEST);

              

       

               f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

// 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐

               f.setLocation(600, 300); // 프레임 실행시 위치 지정

               f.setSize(500, 500); // 프레임 사이즈 지정

               f.setVisible(true); // 프레임을 보이게 

        }

 

        public static void main(String args[]) {

               JPanel01 panel = new JPanel01();

 

        }

}

 


<결과물>



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

반응형

'JAVA-AWT > JPanel(layout)' 카테고리의 다른 글

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
JAVA-AWT-JPanel-03(FlowLayout)  (0) 2018.06.14
JAVA-AWT-JPanel-01  (0) 2018.06.14

JAVA-AWT-JPanel-01

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

아래는 JPanel의 주요 생성자입니다.

 

 

1. JPanel p1=new JPanel();

타이틀이 없는 판넬을 생성합니다.


 

import javax.swing.JFrame;

import javax.swing.JPanel;

 //javax.swing.JFrame과 JPanel을 import받은 것이다.

public class JPanel01 {

 

        JFrame f=new JFrame("제목");

        JPanel p1=new JPanel();

       

        public JPanel01() {

               f.add(p1); //프레임 f 판넬p1 추가한다.

              

              

               f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐

               f.setLocation(600, 300); // 프레임 실행시 위치 지정

               f.setSize(500, 500); // 프레임 사이즈 지정

               f.setVisible(true); // 프레임을 보이게

        }

       

        public static void main(String args[]){

               JPanel01 panel=new JPanel01();

              

        }

}

 

 

<결과물>

f.add(p1)으로 프레임에 판넬을 덮은 상태입니다. 그래서 안보이죠?

다음은 판넬의 위치와 색깔을 지정해보도록 하죠.

 

1-1 판넬의 위치와 색깔 지정

 

import java.awt.Color;

import javax.swing.JFrame;

import javax.swing.JPanel;

 

public class JPanel01 {

 

        JFrame f = new JFrame("제목");

        JPanel p1 = new JPanel();

        JPanel p2 = new JPanel();

 

        public JPanel01() {

 

               f.setLayout(null);

               // 프레임의 레이아웃을 지정하지 않는다.

              

               p1.setBounds(100, 100, 100, 100);

               p2.setBounds(300, 300, 100, 100);

               // setBounds 레이아웃이 지정되지 않는 곳에서 사용한다.

               // (x,y,w,h) x,y 시작점 w,h component 크기이다.

 

               p1.setBackground(Color.PINK);

               p2.setBackground(Color.BLUE);

               // 판넬의 배경색을 지정합니다.

 

               f.add(p1); // 프레임 f 판넬p1 추가한다.

               f.add(p2); // 프레임 f 판넬p2 추가한다.

 

               f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐

               f.setLocation(600, 300); // 프레임 실행시 위치 지정

               f.setSize(500, 500); // 프레임 사이즈 지정

               f.setVisible(true); // 프레임을 보이게

        }

 

        public static void main(String args[]) {

               JPanel01 panel = new JPanel01();

 

        }

}

 

 

 <결과물>

 

 

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

 

 

반응형

'JAVA-AWT > JPanel(layout)' 카테고리의 다른 글

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
JAVA-AWT-JPanel-03(FlowLayout)  (0) 2018.06.14
JAVA-AWT-JPanel-02(BorderLayout)  (0) 2018.06.14