[자바기초] 스윙을 활용한 로그인 화면

package com.ljh.layout;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import com.ljh.account.AccountClass;

  //제목정하기, 전체구조(레이아웃), 컨테이너생성
public class LayoutClass extends JFrame {
 JTextField jt1;
 JPasswordField jt2;
 int logCount = 3;
 
 public LayoutClass() {
  setTitle("로그인화면"); // 프레임의 타이틀  달기
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 프레임 윈도우를 닫으면 프로그램 종료
  
  BorderLayout bLayout = new BorderLayout(50, 20); //전체구조
  
  Container c = getContentPane();
  c.setLayout(bLayout);
  
  //setResizable(false); // 사이즈 조절 막아버림 ㅋㅋ
  JPanel northPanel = new JPanel();
  JPanel centerPanel = new JPanel();
  JPanel southPanel = new JPanel();
  
  northPanel.add(new JLabel("로그인화면"));
  centerPanel.setLayout(new GridLayout(2, 2));
  southPanel.setLayout(new GridLayout(1, 2));
  
  JLabel jl1 = new JLabel("아이디");
  //jl1.setSize(10,50);
  centerPanel.add(jl1);
  
  jt1 = new JTextField();
  centerPanel.add(jt1);
  
  centerPanel.add(new JLabel("비밀번호"));
  jt2 = new JPasswordField();
  centerPanel.add(jt2);
  
  JButton login = new JButton("로그인");
  login.addActionListener(new ActionListener() {
   
   @Override
   public void actionPerformed(ActionEvent e) {
    AccountClass ac = new AccountClass();
    
    if(jt1.getText().equals(ac.getId()) && jt2.getPassword().equals(ac.getPw())){
     System.out.println("Login 성공");
    }
    else{
     logCount--;
     System.out.println("아이디와 비밀번호를 확인해주세요");
     System.out.println(logCount + "번 남았습니다.");
     jt1.setText("");
     jt2.setText("");
    }
    if (logCount == 0){
     System.exit(0);
    }
   }
  });
  JButton signup = new JButton("회원가입");
  southPanel.add(login);
  southPanel.add(signup);
  
  c.add(northPanel, BorderLayout.NORTH);
  c.add(centerPanel, BorderLayout.CENTER);
  c.add(southPanel, BorderLayout.SOUTH);
  
  setSize(400, 200);
  
  Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
  int screenWidth = (int)d.getWidth();
  int screenHeight = (int)d.getHeight();
  
  int frameStartX = screenWidth/2 - this.getWidth()/2;
  int frameStartY = screenHeight/2 - this.getHeight()/2;
  setLocation(frameStartX, frameStartY);
  
  setVisible(true);
 }

}

댓글

이 블로그의 인기 게시물

[자바기초] jxl을 이용하여 자바에서 엑셀파일 읽고,쓰기

[자바기초] Vector, Iterator를 이용해서 정수 삽입후 모든 정수 출력 및 합산

[자바기초] HashMap으로 [학생 이름, Student 객체]를 이용하여 저장, 출력