자바GUI2(국비과정)

min seung moon·2021년 3월 12일
0

영진직업전문학교

목록 보기
3/10

기본 콤포넌트 다루기!

01. main에서 JFrame 생성

package gui;

import javax.swing.JFrame;

public class ex01 {
	public static void main(String[] args) {
		// 프레임 생성
		JFrame jFrame = new JFrame();
		
		// 프레임 타이틀 지정("title")
		jFrame.setTitle("Frame Test");
		// 프레임의 크기 지정(x,y)
		jFrame.setSize(300, 200);
		// 프레임의 활성화 지정(true || false)
		jFrame.setVisible(true);
	}
}

02. 클래스에 JFrame 상속

package gui;

import javax.swing.JFrame;

public class ex02 extends JFrame {
	public ex02() {
		setTitle("2");
		setSize(300, 200);
		setVisible(true);
	}
	public static void main(String[] args) {
		ex02 ex02 = new ex02();
	}
}

03. JPanel, Jbutton, JLabel 다뤄보기!

package gui;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

class MyFrame03 extends JFrame {
	public MyFrame03() {
		
		setTitle("3");
		setSize(300,200);
		setVisible(true);
		
		JPanel jPanel = new JPanel();
		JButton button = new JButton("버튼");
		JLabel jLabel = new JLabel("문민승");
		
		jPanel.add(jLabel);
		jPanel.add(button);
		add(jPanel);
	}
}

public class ex03 {
	public static void main(String[] args) {
		MyFrame03 frame03 = new MyFrame03();

	}
}

04. 버튼 여러개 만들어 보기!

package gui;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

class myFrame04 extends JFrame {
	public myFrame04() {
		setTitle("MyFrame");
		setSize(450, 150);
		setVisible(true);
		
		JPanel jPanel1 = new JPanel();
		JPanel jPanel2 = new JPanel();
		JPanel jPanel3 = new JPanel();
		
		JButton jButton1 = new JButton("자바 피자에 오신 것을 환영합니다, 피자의 종류를 선택하시오.");
		JButton jButton2 = new JButton("콤보피자");
		JButton jButton3 = new JButton("포테이토피자");
		JButton jButton4 = new JButton("불고기피자");
		
		add(jPanel1);
		jPanel1.add(jPanel2);
		jPanel1.add(jPanel3);
		
		jPanel2.add(jButton1);
		jPanel3.add(jButton2);
		jPanel3.add(jButton3);
		jPanel3.add(jButton4);
	}
}

public class ex04 {
	public static void main(String[] args) {
		myFrame04 frame04 = new myFrame04();	
		
	}
}

05. FlowLayout 사용해보기(pack() 사용)

package gui;

import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

class MyFrame05 extends JFrame {
	public MyFrame05() {
		setTitle("FlowLayout Test");
		setVisible(true);
		JPanel jPanel  = new JPanel(new FlowLayout(FlowLayout.CENTER));
		// jPanel.setLayout(new FlowLayout());
		//	FlowLayout f = new FlowLayout();
		//	jPanel.setLayout(f);
		
		add(jPanel);
		jPanel.add(new JButton("Button1"));
		jPanel.add(new JButton("Button2"));
		jPanel.add(new JButton("Button3"));
		jPanel.add(new JButton("B4"));
		jPanel.add(new JButton("Long Button15"));
		
//		pack() : 프레임 크기를 추가된 컴포넌트 크기에 맞도록 조절
		pack();
	}
}

public class ex05 {
	public static void main(String[] args) {
		MyFrame05 frame05 = new MyFrame05();
	}
}

06. BorderLayout 사용해보기!

package gui;

import javax.swing.JButton;
import javax.swing.JFrame;

import java.awt.*;
class MyFrame06 extends JFrame {
	public MyFrame06() {
		setTitle("border layout");
//		frame은 defulat로 borderLayout이다
//		setLayout(new  BorderLayout());
//		setLayout(new  BorderLayout(10, 10));
		
		add("East", new JButton("동"));
		add("West", new JButton("서"));
		add("South", new JButton("남"));
//		add(new JButton("동"), BorderLayout.EAST);
//		add(new JButton("서"), BorderLayout.WEST);
//		add(new JButton("남"), BorderLayout.SOUTH);
		
		
		add(new JButton("북"), BorderLayout.NORTH);
		add(new JButton("중앙"), BorderLayout.CENTER);
		
		setSize(300, 150);
		setVisible(true);
	}
}

public class ex06 {
	public static void main(String[] args) {
		MyFrame06 frame06 = new MyFrame06();
	}
}

07. GridLayout 사용해보기!

package gui;

import javax.swing.JButton;
import javax.swing.JFrame;

import java.awt.*;
class MyFrame07 extends JFrame {
	public MyFrame07() {
		setLayout(new GridLayout(2, 3));
		setTitle("Grid");
		setVisible(true);
		
		add(new JButton("button1"));
		add(new JButton("button2"));
		add(new JButton("button3"));
		add(new JButton("button4"));
		add(new JButton("button5"));
		pack();
	}
}

public class ex07 {
	public static void main(String[] args) {
		MyFrame07 frame07 = new MyFrame07();
	}
}

08. Absolute 배치 관리 사용해보기!

package gui;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

class MyFrame08 extends JFrame {
	private JButton b1;
	private JButton b2, b3;
	
	public MyFrame08() {
		setTitle("Absolute Position Test");
		setVisible(true);
		JPanel p = new JPanel();
		p.setLayout(null); // 배치 관리 제거
		
		
		b1 = new JButton("button #1");
		b2 = new JButton("button #2");
		b3 = new JButton("button #3");
		p.add(b1);
		p.add(b2);
		p.add(b3);
		
		b1.setBounds(20, 5, 95, 30);
		b2.setBounds(55, 45, 105, 70);
		b3.setBounds(180, 15, 105, 90);
		
		add(p);
		setSize(500, 500);
	}
}

public class ex08 {
	public static void main(String[] args) {
		MyFrame08 frame08 = new MyFrame08();
	}
}

profile
아직까지는 코린이!

0개의 댓글

관련 채용 정보