Les fenêtres de connexion sont généralement très courantes, alors écrivons-en un nous-mêmes!
PS: De nombreuses importations sont en double car je les ai écrites dans plusieurs catégories et doivent être importées séparément.
// Simuler la fenêtre de connexion QQ Importer java.awt. *; Importer java.io. *; Import java.awt.event. *; Import javax.swing. *; Public class qqgui étend JFrame implémente ActionListener {private jLabel userla; JLabel privé PWDLA; JLABEL PRIVÉ VERCODELA; // CODE VÉRIFICATION JETTHFIELD USERTXT; JPASSWORDFIELD privé PWDTXT; privé jTextfield VerCodetxt; // Code de vérification privé jbutton surebt; Private Jbutton Quitbt; MP MyPanel privé; // Méthode de construction public qqgui () {init (); } public void init () {frame frame = new frame ("qq login"); // Créez l'objet de contrôle (car ce qui précède est simplement déclaré et ne donne pas l'espace réel) // Texte utilisateur utilisateur Userla = new JLabel (); userLa.seTText ("Nom d'utilisateur:"); Userla.SetSize (60, 50); userla.setLocation (100, 80); // Texte de mot de passe pwdla = new JLabel (); PWDLA.SETTEXT ("Mot de passe:"); PWDLA.SetSize (50, 50); pwdla.setLocation (100, 120); // Box d'entrée utilisateur userxt = new JTextField (); userxt.setSize (100, 20); //This.setSize(Width, Height) userxt.setLocation (170, 95); // Boîte d'entrée de mot de passe pwdtxt = new JPasswordField (); pwdtxt.setSize (100, 20); pwdtxt.setLocation (170, 135); // Confirmer le bouton SureBt = new JBUTTON ("Login"); SureBt.SetSize (60, 25); SureBt.setLocation (135, 260); // Button de sortie QUITBT = new JBUTTON ("Exit"); QUITBT.SETSIZE (60, 25); QUITBT.SetLocation (240, 260); // Texte de code de vérification vercodela = new JLabel (); VerCodela.SeTText ("Code de vérification:"); Vercodela.SetSize (60, 50); Vercodela.setLocation (100, 165); // Box de texte de code de vérification vercodetxt = new JTextField (); VerCodetxt.SetSize (100, 20); VerCodetxt.SetLocation (170, 180); // code de vérification mp = new myPanel (); MP.SetSize (100, 30); MP.SetLocation (280, 175); // Boîte de sélection de la méthode de connexion JComboBox xlk = new JComboBox (); xlk.setSize (60, 20); xlk.setLocation (250, 220); xlk.additem ("en ligne"); xlk.additem ("Invisible"); xlk.Additem ("Leave"); this.setLayout (null); this.setSize (500, 400); this.add (userla); this.add (pwdla); this.add (userxt); 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); } // Gestion des événements spécifiques public void ActionPerformed (ActionEvent e) {// Obtenez la source d'événement Casting JBUTTON BT = (JBUTTON) E.getsource (); // affiche le texte sur la chaîne de bouton str = bt.getText (); if (str.equals ("login")) {if (! checkisnull ()) {// Obtenez le nom d'utilisateur entré par la chaîne utilisateur user = userxt.getText (). Trim (); // Obtenez le mot de passe entré par la chaîne utilisateur pwd = pwdtxt.getText (). Trim (); if (checkUserAndPwd (utilisateur, pwd)) {// masquer la fenêtre de connexion actuelle this.setVisible (false); // Vérifiez qu'une fenêtre principale est créée avec succès MAINFRAME Frame = new MainFrame (); } else {// Si c'est faux, une zone d'affichage apparaîtra jOptionPane Pane = new JOPtionPane ("User ou Motword Error"); JDIALOG Dialog = PANE.CreateDialog (This, "Warning"); Dialog.show (); }}} else {// Appelez l'une des classes système pour quitter System.exit (0); }} private boolean checkisnull () {booléen flag = false; if (userxt.getText (). Trim (). Equals (")) {flag = true;} else {if (pwdtxt.getText (). Trim (). Equals (")) {flag = true; }} drapeau de retour; } private boolean checkUserAndPwd (chaîne utilisateur, chaîne pwd) {booléen result = false; try {fileReader file = new fileReader ("d: // workspaces // myeclipse 8.5 // testgui.txt"); BufferedReader Bre = new BufferedReader (fichier); String str = bre.readline (); while (str! = null) {String [] strs = str.split (","); if (strs [0] .equals (utilisateur)) {if (strs [1] .equals (pwd)) result = true; } str = Bre.Readline (); } file.close (); } catch (exception ex) {System.out.print (""); } Retour Résultat; }} // la classe mainframe import Javax.swing. *; Classe publique mainframe étend jFrame {public mainframe () {this.setSize (300, 300); this.setVisible (true); }} // Génération de code de vérification Importer java.awt. *; Import java.util. *; Public class MyPanel étend le panneau {public void peinture (graphics g) {int height = 50; Int largeur = 90; // CODE DE VÉRIFICATION COLLE COLOR G.SetColor (Color.light_Gray); // Remplissez l'arrière-plan du code de vérification G.Fillrect (0, 0, largeur, hauteur); g.setColor (color.black); G.Drawrect (0, 0, largeur-1, hauteur-1); Random r = new Random (); // définit le point d'interférence pour (int i = 0; i <100; i ++) {int x = r.nextint (largeur) -1; int y = r.Nextint (hauteur) -1; G.Drawoval (x, y, 2, 2); } g.setfont (new Font ("Bold", Font.Bold, 20)); // Définissez la police et la taille du code de vérification g.setColor (Color.red); // Définissez la couleur de police du code de vérification // générer un code de vérification aléatoire char [] tmp = ("0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"). ToCarararRay (); StringBuilder sb = new StringBuilder (); pour (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); // Code de vérification d'écriture}} // implémentation de la boîte déroulante import Java.awt. *; Importer java.awt.event. *; Importer javax.swing. *; public class Xiaalakuang étend Jframe {privative jcomboBOx comboBox; // file // jpanel Panel = new JPanel (); // Créer un panel jpanel comboBox = new JComboBox (); combobox.additem ("en ligne"); combobox.additem ("invisible"); combobox.additem ("part"); this.add (combobox); //this.add(panel); this.setSize (200, 100); this.setDefaultCloseOperation (jframe.exit_on_close); this.setVisible (true); }} // Test de classe publique TestQQui {/ ** * @param args * / public static void main (String [] args) {// TODO Méthode générée automatiquement Stub qqgui frame = new qqgui (); }}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.