728x90
저는 클래스를 4개 만들었습니다.
1. MyWin: JFrame을 상속받는 클래스
2. NorthPanel
3. CenterPanel
4. SwingEx: main을 포함하는 클래스
import javax.swing.*;
import java.awt.*;
1) MyWin클래스
class MyWin extends JFrame {
public MyWin() {
super("window");
setSize(300, 200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
}
main을 간결하게 만들기 위해 여기다가 넣어줬습니다.
2) NorthPanel 클래스
class NorthPanel extends JPanel {
public NorthPanel() {
setBackground(Color.LIGHT_GRAY);
setLayout(new FlowLayout());
JButton btn1 = new JButton("Open");
JButton btn2 = new JButton("Read");
JButton btn3 = new JButton("Close");
btn1.setBackground(Color.pink);
btn2.setBackground(Color.blue);
btn3.setBackground(Color.green);
add(btn1);
add(btn2);
add(btn3);
}
}
이쁘게 만들고 싶어서 색을 넣어봤습니다.
3) CenterPanel 클래스
class CenterPanel extends JPanel {
public CenterPanel() {
setLayout(null);
setBackground(Color.orange);
JLabel label = new JLabel("Hello Java!");
label.setSize(100, 20);
label.setLocation(100, 50);
add(label);
}
}
여기도 이쁘게 만들려고 배경색을 넣었습니다. 오렌지색이 망고젤리같은 색이라 아주 맘에 듭니다.
4) SwingEx 클래스
public class FlowLayoutEx{
public static void main(String[] args) {
MyWin win = new MyWin();
NorthPanel north = new NorthPanel();
CenterPanel center = new CenterPanel();
Container contentpane = win.getContentPane();
contentpane.setLayout(new BorderLayout());
contentpane.add(north, BorderLayout.NORTH);
contentpane.add(center, BorderLayout.CENTER);
}
}
JFrame에서 콘텐트팬을 가져와 BorderLayout으로 설정해주고,
North, Center클래스 객체를 만들어 각각 자리에 삽입해줬습니다.
<결과>
영롱하네요
728x90
'프로그래밍 언어 > javastudy' 카테고리의 다른 글
진법변환기 gui (0) | 2021.07.20 |
---|---|
명품 Java Essential 8단원 실습문제 1~7 (0) | 2021.07.20 |
명품 Java Essential 7단원 Bonus 1 (0) | 2021.07.17 |
명품 Java Essential 7단원 실습문제 1~7 (0) | 2021.07.17 |
영어 어휘 테스트 프로그램/ 명품 자바 에센셜 7 (0) | 2021.07.17 |