티스토리 뷰

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. 위 코드를 실행하면 아래와 같이 버튼이 구역별로 나뉘어 표시됩니다.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함