IT/Java

자바 GUI, JFrame, FlowLayout

노마드오브 2018. 8. 6. 23:27

package java0806;


import java.awt.Color;

import java.awt.Container;

import java.awt.FlowLayout;


import javax.swing.JButton;

import javax.swing.JFrame;


public class Test3 extends JFrame {

// GUI 프로그램에서는 main()의 기능은 최소화하는 것이 좋다.

// main()에는 스윙 응용프로그램이 실행되는 시작점 역할만 만들고, 

// 나머지 기능은 프레임 클래스에서 작성하는 것이 좋다

public Test3() {  // 기본생성자는 ctrl + space를 하면 자동완성 할 수 있다.

super("300*300 스윙 프레임 만들기"); // 초기화시 타이틀

// setTitle("300*300 스윙 프레임 만들기");  // 실행중에 타이틀 바꿀 때 주로 사용

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  // 창을 닫으면 완전히 비활성화 되도록 한다

Container contentPane = getContentPane();

// 배치관리자

contentPane.setLayout(new FlowLayout());

contentPane.setBackground(Color.ORANGE);

contentPane.add(new JButton("OK"));

contentPane.add(new JButton("Cancel"));

contentPane.add(new JButton("Ignore"));

setSize(300, 300);

setVisible(true);

}

public static void main(String[] args) {

new Test3();

}


}




package java0806;

import java.awt.Button;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;

import javax.swing.JFrame;

public class Test4 extends JFrame {
// 위에서 언급했듯이 이 방법보다는 위 예제 방법 권장. main()에서는 실행 역할만 하는 정도로 코딩하는 게 좋다
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setTitle("타이틀제목");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container contentPane = frame.getContentPane();
contentPane.setLayout(new FlowLayout(FlowLayout.LEFT, 30, 40)); // 간격 수평 30, 수직 40 
contentPane.setBackground(Color.orange);
contentPane.add(new Button("덧셈"));
contentPane.add(new Button("뺄셈"));
contentPane.add(new Button("곱셈"));
contentPane.add(new Button("나눗셈"));
contentPane.add(new Button("계산하기"));
frame.setSize(300, 300);
frame.setVisible(true);
}

}