JAVA/GUI

[자바] Login 화면 구성하기

yujin0517 2021. 7. 13. 17:22

구성 순서

  1. JFrame을 부모 클래스로 상속받아 Login 클래스 생성
  2. JPanel, JLabel, JTextField, JPasswordField, JCheckBox, JButton 클래스를 사용하여 로그인을 할 때, 필요한 옵션을 추가
  3. Login 생성자 선언, initData 메소드를 통해 객체를 생성하여 옵션 만들기, setInitLayout 메소드를 통해 창에 옵션들을 추가
  4. 메인 메소드에 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