구성 순서
- JFrame을 부모 클래스로 상속받아 Login 클래스 생성
- JPanel, JLabel, JTextField, JPasswordField, JCheckBox, JButton 클래스를 사용하여 로그인을 할 때, 필요한 옵션을 추가
- Login 생성자 선언, initData 메소드를 통해 객체를 생성하여 옵션 만들기, setInitLayout 메소드를 통해 창에 옵션들을 추가
- 메인 메소드에 Login 클래스 객체 생성
- setInitLayout 메소드에 옵션을 추가하지 않은 경우
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class Login extends JFrame {
private JPanel panel;
private JButton button;
private JLabel label1;
private JLabel label2;
private JLabel label3;
private JTextField textField;
private JPasswordField pwField;
private JCheckBox checkBox;
public Login() {
initData();
setInitLayout();
}
private void initData() {
this.setTitle("Login Ex");
this.setSize(500, 500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel = new JPanel();
label1 = new JLabel("Hello");
label2= new JLabel("Id :");
textField = new JTextField(20);
label3 = new JLabel("pw :");
pwField = new JPasswordField(20);
checkBox = new JCheckBox("agree", false);
button = new JButton("Login");
} //end of initData
private void setInitLayout() {
this.setVisible(true);
} //end of setInitLayout
public static void main(String[] args) {
new Login();
}
} //end of Login
-> setInitLayout 메소드에 옵션을 추가하지 않았기 때문에 아무것도 생성되지 않음..
- setInitLayout 메소드에 옵션을 추가한 경우
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class Login extends JFrame {
private JPanel panel;
private JButton button;
private JLabel label1;
private JLabel label2;
private JLabel label3;
private JTextField textField;
private JPasswordField pwField;
private JCheckBox checkBox;
public Login() {
initData();
setInitLayout();
}
private void initData() {
this.setTitle("Login Ex");
this.setSize(500, 500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel = new JPanel();
label1 = new JLabel("Hello");
label2 = new JLabel("Id :");
textField = new JTextField(20);
label3 = new JLabel("pw :");
pwField = new JPasswordField(20);
checkBox = new JCheckBox("agree", false);
button = new JButton("Login");
} //end of initData
private void setInitLayout() {
this.setVisible(true);
this.add(panel);
panel.add(label1);
panel.add(label2);
panel.add(textField);
panel.add(label3);
panel.add(pwField);
panel.add(checkBox);
panel.add(button);
} //end of setInitLayout
public static void main(String[] args) {
new Login();
}
} //end of Login
-> setInitLayout 메소드에 옵션을 add하여 화면에 옵션이 생성됨!!
2021.07.13
'JAVA > GUI' 카테고리의 다른 글
[자바] 콜백(CallBack) - JFrame (0) | 2021.07.19 |
---|---|
[자바] JFrame 이미지 추가하기 - 슈퍼마리오(1) (0) | 2021.07.17 |
[자바] KeyListener (0) | 2021.07.15 |
[자바] JPanel (0) | 2021.07.15 |
[자바] JButton 만들기 + 클릭 이벤트 (0) | 2021.07.14 |