자바 Gui, Swing 기초 연습하기
오늘은 간단한 Gui 배치를
연습해보겠습니다.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;
import javax.swing.border.TitledBorder;
public class BorderEx extends JFrame {
JLabel lblTitle; // 타이틀
JLabel lblName; // 이름
JLabel lblNumber; // 번호
JTextField tfName; // 이름 입력창
JTextField tfNumber; // 번호 입력창
JButton btnSave; // 저장 버튼
JButton btnReset; // 리셋 버튼
public BorderEx() {
init();
setDisplay();
showFrame();
}
private void init() {
lblTitle = new JLabel("이름과 번호를 입력하세요.");
lblName = new JLabel("Name");
lblNumber = new JLabel("Number");
tfName = new JTextField(10);
tfNumber = new JTextField(10);
btnSave = new JButton("Save");
btnReset = new JButton("Reset");
}
private void setDisplay() {
JPanel pnlNorth = new JPanel();
pnlNorth.add(lblTitle);
pnlNorth.setBorder(new TitledBorder("North"));
JPanel pnlWest = new JPanel(new GridLayout(0,1,0,10));
pnlWest.add(lblName);
pnlWest.add(lblNumber);
pnlWest.setBorder(new TitledBorder("West"));
JPanel pnlEast = new JPanel(new GridLayout(0,1,0,10));
pnlEast.add(tfName);
pnlEast.add(tfNumber);
pnlEast.setBorder(new TitledBorder("East"));
JPanel pnlSouth = new JPanel();
pnlSouth.add(btnSave);
pnlSouth.add(btnReset);
pnlSouth.setBorder(new TitledBorder("South"));
add(pnlNorth, BorderLayout.NORTH);
add(pnlWest, BorderLayout.WEST);
add(pnlEast, BorderLayout.EAST);
add(pnlSouth, BorderLayout.SOUTH);
}
private void showFrame() {
setTitle("GUI");
pack();
setLocationRelativeTo(null);
setResizable(false); // 창을 고정
setVisible(true);
}
public static void main(String[] args) {
new BorderEx();
}
}
저는 이렇게 작성을 했지만,
다른 방법도 많습니다.
어떻게 코드를
바라보느냐의 차이기 때문에
이 부분에 대해서는
자기 스스로가 생각을 해보고
나만의 방법을 찾는 것이
좋다고 생각합니다.
저는 다음에 다른 예제로
찾아오겠습니다.
감사합니다.
'New Programming > Java' 카테고리의 다른 글
자바 숫자 3개를 입력받아서 가장 큰 수부터 나열! (0) | 2020.05.31 |
---|---|
자바 GUI 배치 연습하기... (0) | 2020.05.29 |
자바 ImageIcon 크기 조절하는 방법 (2) | 2020.05.27 |
[자바] GridLayout 간단하게 알아보자... (0) | 2020.05.26 |
[자바] BorderLayout 간단하게 알아보자... (0) | 2020.05.24 |