자바 그래 픽 인터페이스 로그 인 창 구현

로그 인 창 은 일반적으로 흔히 볼 수 있 으 니,이제 우리 스스로 도 하나 쓰 자!
PS:많은 import 는 중복 되 는 것 입 니 다.제 가 몇 가지 유형 으로 나 누 어 썼 기 때문에 따로 가 져 와 야 합 니 다.

//  qq    
import java.awt.*;
import java.io.*;
import java.awt.event.*;
import javax.swing.*;

public class QQGUI extends JFrame implements ActionListener{
 private JLabel userLa;
 private JLabel pwdLa;
 private JLabel verCodeLa;//   
 private JTextField userTxt;
 private JPasswordField pwdTxt;
 private JTextField verCodeTxt;//   
 private JButton sureBt;
 private JButton quitBt;
 private Mypanel mp;

 //    
 public QQGUI()
 {
  Init();
 }
 public void Init()
 {
  Frame frame = new Frame("QQ  ");

  //       (          ,          )

  //    
  userLa = new JLabel();
  userLa.setText("   :");
  userLa.setSize(60, 50);
  userLa.setLocation(100, 80);

  //    
  pwdLa = new JLabel();
  pwdLa.setText("  :");
  pwdLa.setSize(50, 50);
  pwdLa.setLocation(100, 120);

  //     
  userTxt = new JTextField();
  userTxt.setSize(100, 20);
  //this.setSize(width, height)
  userTxt.setLocation(170, 95);

  //     
  pwdTxt = new JPasswordField();
  pwdTxt.setSize(100, 20);
  pwdTxt.setLocation(170, 135);

  //    
  sureBt = new JButton("  ");
  sureBt.setSize(60, 25);
  sureBt.setLocation(135, 260);

  //    
  quitBt = new JButton("  ");
  quitBt.setSize(60, 25);
  quitBt.setLocation(240, 260);

  //     
  verCodeLa = new JLabel();
  verCodeLa.setText("   :");
  verCodeLa.setSize(60, 50);
  verCodeLa.setLocation(100,165);

  //      
  verCodeTxt = new JTextField();
  verCodeTxt.setSize(100, 20);
  verCodeTxt.setLocation(170, 180);

  //   
  mp = new Mypanel();
  mp.setSize(100, 30);
  mp.setLocation(280, 175);

  //       
  JComboBox xlk=new JComboBox();
  xlk.setSize(60, 20);
  xlk.setLocation(250, 220);
  xlk.addItem("  ");
  xlk.addItem("  ");
  xlk.addItem("  ");


  this.setLayout(null);
  this.setSize(500, 400);
  this.add(userLa);
  this.add(pwdLa);
  this.add(userTxt);
  this.add(pwdTxt);
  this.add(sureBt);
  this.add(quitBt);
  this.add(verCodeLa);
  this.add(verCodeTxt);
  this.add(mp);
  this.add(xlk);
  sureBt.addActionListener(this);
  quitBt.addActionListener(this);
  this.setVisible(true);
 }
 //       
  public void actionPerformed(ActionEvent e)
  {
   //              
   JButton bt = (JButton)e.getSource();
   //          
   String str = bt.getText();
   if(str.equals("  "))
   {
    if(!CheckIsNull())
    {
     //           
     String user = userTxt.getText().trim();
     //          
     String pwd = pwdTxt.getText().trim();
     if(checkUserAndPwd(user,pwd))
     {

      //        
      this.setVisible(false);
      //           
      MainFrame frame = new MainFrame();
     }
     else
     {
      //            
      JOptionPane pane = new JOptionPane("       ");
      JDialog dialog = pane.createDialog(this,"  ");
      dialog.show();
     }
    }
   }
   else
   {
    //             
    System.exit(0);
   }
  }
  private boolean CheckIsNull()
  {
   boolean flag = false;
   if(userTxt.getText().trim().equals(" "))
   {
    flag = true;
   }
   else
   {
    if(pwdTxt.getText().trim().equals(" "))
    {
     flag = true;
    }
   }
   return flag;
  }
  private boolean checkUserAndPwd(String user,String pwd)
  {
   boolean result = false;
   try
   {
    FileReader file = new FileReader("D:\\Workspaces\\MyEclipse 8.5\\testGUI.txt"); 
    BufferedReader bre = new BufferedReader(file);
    String str = bre.readLine();

   while(str!=null)
   {
     String[] strs = str.split(",");
     if(strs[0].equals(user))
     {
      if(strs[1].equals(pwd))
      result = true;
     }
     str = bre.readLine();
   }
   file.close();
   }catch(Exception ex)
   {
    System.out.print("");
   }
   return result;
  }
}

//MainFrame 
import javax.swing.*;
public class MainFrame extends JFrame {
 public MainFrame()
 {
  this.setSize(300, 300);
  this.setVisible(true);
 }
}

//      
import java.awt.*;
import java.util.*;
public class Mypanel extends Panel {
 public void paint(Graphics g)
 {
  int height = 50;
  int width = 90;
  //        
  g.setColor(Color.LIGHT_GRAY);
  //       
  g.fillRect(0, 0, width, height);
  g.setColor(Color.BLACK);
  g.drawRect(0, 0, width-1, height-1);
  Random r = new Random();
  //     
  for(int i = 0;i<100;i++)
  {
   int x = r.nextInt(width)-1;
   int y = r.nextInt(height)-1;
   g.drawOval(x, y, 2, 2);
  }
  g.setFont(new Font("  ",Font.BOLD,20));//           
  g.setColor(Color.RED);//         
  //       
  char[] tmp = ("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();
  StringBuilder sb = new StringBuilder();
  for(int i = 0;i<4;i++)
  {
   int pos = r.nextInt(tmp.length);
   char c = tmp[pos];
   sb.append(c + " ");
  }
  g.drawString(sb.toString(), 10, 15);//     
 }
}

//      
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class xialakuang extends JFrame {
 private JComboBox comboBox;//       
 public void xia ()
 {

  //JPanel panel = new JPanel();//    JPanel  
  comboBox = new JComboBox();
  comboBox.addItem("  ");
  comboBox.addItem("  ");
  comboBox.addItem("  ");

  this.add(comboBox);
  //this.add(panel);
  this.setSize(200, 100);
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  this.setVisible(true);
 }
}

//  
public class testQQGUI {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  QQGUI frame = new QQGUI();
 }
}

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기