로그인 창문은 일반적으로 매우 일반적이므로 직접 작성해 봅시다!
추신 : 많은 수입품이 여러 범주로 작성되었으며 별도로 가져와야하기 때문에 많은 수입품이 복제됩니다.
// QQ 로그인 창과 시뮬레이션 java.awt.*; import java.io.*; import java.awt.event.*; import javax.swing.*; public class qqgui는 jframe emplements actionListener {private jlabel userla; 개인 jlabel pwdla; 개인 jlabel vercodela; // 검증 코드 private jtextfield usertxt; Private JPASSWORDFIELD PWDTXT; 개인 jtextfield vercodetxt; // 검증 코드 private jbutton surebt; 개인 JBUTTON QUITBT; 개인 Mypanel MP; // 구성 방법 public qqgui () {init (); } public void init () {프레임 프레임 = 새 프레임 ( "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, 높이) 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 ( "Exit"); 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); // verification code 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 ( "Invisible"); xlk.additem ( "Leave"); this.setLayout (null); this.setsize (500, 400); this.add (userla); this.add (pwdla); this.add (usertxt); 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.set -Visible (true); } // 특정 이벤트 처리 공개 void ActionPerformed (ActionEvent e) {// 이벤트 소스를 가져옵니다. // 버튼 문자열에 표시된 텍스트를 가져옵니다. str = bt.getText (); if (str.equals ( "login")) {if (! checkisnull ()) {// 사용자 이름을 입력 한 사용자 이름을 얻습니다. // 사용자 문자열 pwd = pwdtxt.getText (). trim (); if (CheckUserAndPwd (user, pwd)) {// 현재 로그인 창을 숨기기 this.setVisible (false); // 메인 창이 성공적으로 생성되었는지 확인하십시오. 메인 프레임 프레임 = 새 메인 프레임 (); } else {// 잘못된 경우 디스플레이 상자가 JoptionPane Pane = New JoptionPane ( "사용자 또는 비밀번호 오류")을 나타냅니다. jdialog dialog = pane.createdialog (this, "경고"); dialog.show (); }}} else {// 시스템 클래스 중 하나를 호출하여 System.exit (0); }} 개인 부울 checkisNull () {부울 플래그 = 거짓; if (usertxt.getText (). trim (). equals ( ")) {flag = true;} else {if (pwdtxt.getText (). trim (). equals (")) {flag = true; }} 반환 플래그; } private boolean CheckuserAndpwd (문자열 사용자, 문자열 pwd) {boolean result = false; try {filereader file = new Filereader ( "d : // 작업장 // myeclipse 8.5 // testgui.txt"); bufferedReader bre = new bufferedReader (파일); 문자열 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 (예외) {System.out.print ( ""); } 반환 결과; }} // mainframe 클래스 import javax.swing.*; public class mainframe은 jframe {public mainframe () {this.setsize (300, 300); this.set -Visible (true); }} // 검증 코드 생성 import java.awt.*; import java.util.*; public class mypanel 확장 패널 {public void paint (그래픽 g) {int height = 50; int 너비 = 90; // 검증 코드 박스 배경 색상 G.SetColor (Color.light_gray); // 검증 코드를 채우고 배경 G.FillRect (0, 0, 너비, 높이); g.setcolor (color.black); G.DrawRect (0, 0, width-1, height-1); 랜덤 r = 새로운 랜덤 (); // (int i = 0; i <100; i ++)에 대한 간섭 지점을 설정합니다. {int x = r.nextInt (width) -1; int y = R.NextInt (높이) -1; g.sudoval (x, y, 2, 2); } g.setfont (new font ( "bold", font.bold, 20)); // 확인 코드를 설정하고 크기 G.SetColor (Color.Red); // 검증 코드를 설정하고 FONT COLOR를 설정합니다. // 임의의 검증 코드 생성 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); // verification code}} // 드롭 다운 박스 구현 java.awt.*; import java.awt.event.*; import javax.swing. // jpanel panel = new jpanel (); // jpanel 패널 생성 combobox = new jcombobox (); combobox.additem ( "온라인"); combobox.additem ( "Invisible"); combobox.additem ( "Leave"); this.add (combobox); //this.add(panel); this.setsize (200, 100); this.setDefaultCloseOperation (jframe.exit_on_close); this.set -Visible (true); }} // 공개 클래스 테스트 testqqgui {/** * @param args */public static void main (String [] args) {// todo 자동 생성 메소드 스텁 QQGUI 프레임 = 새로운 qqgui (); }}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.