Las ventanas de inicio de sesión son generalmente muy comunes, ¡así que escribamos una nosotros mismos!
PD: Muchas importaciones son duplicadas porque las escribí en varias categorías y debo importarme por separado.
// simula la ventana de inicio de sesión Qq import java.awt.*; Import java.io.*; Import java.awt.event.*; Import javax.swing.*; Public class Qqgui extiende jframe implementos ActionListener {private jlabel userla; Privado Jlabel Pwdla; Private JLabel Vercodela; // Código de verificación Private JTextfield Usertxt; Private JPasswordfield pwdtxt; Private JTextfield Vercodetxt; // Código de verificación Private JButton SureBt; Privado JButton Quitbt; MP de mypanel privado; // Método de construcción public qqgui () {init (); } public void init () {Frame frame = new Frame ("Qq Login"); // Crear el objeto de control (porque lo anterior se declara y no le da el espacio real) // Texto de usuario userla = new JLabel (); userla.settext ("Nombre de usuario:"); userla.setsize (60, 50); userla.setLocation (100, 80); // Texto de contraseña pwdla = new JLabel (); pwdla.settext ("contraseña:"); pwdla.setsize (50, 50); pwdla.setLocation (100, 120); // cuadro de entrada de usuario usertxt = new JTextField (); usertxt.setsize (100, 20); //This.setsize(width, altura) usertxt.setLocation (170, 95); // cuadro de entrada de contraseña pwdtxt = new JPasswordField (); pwdtxt.setsize (100, 20); pwdtxt.setLocation (170, 135); // Confirmar botón SureBt = new JButton ("Login"); SureBt.setsize (60, 25); SureBT.SetLocation (135, 260); // Botón de salida quitbt = new JButton ("Salir"); quitbt.setsize (60, 25); quitbt.setLocation (240, 260); // Código de verificación Texto Vercodela = new JLabel (); Vercodela.setText ("Código de verificación:"); Vercodela.setsize (60, 50); Vercodela.setLocation (100, 165); // cuadro de texto del código de verificación verCodetxt = new JTextField (); vercodetxt.setsize (100, 20); Vercodetxt.setLocation (170, 180); // Código de verificación mp = new MyPanel (); MP.SetSize (100, 30); MP.SetLocation (280, 175); // Método de inicio de sesión Selección de selección JComboBox xlk = new JComboBox (); xlk.setsize (60, 20); xlk.setLocation (250, 220); xlk.additem ("en línea"); xlk.additem ("invisible"); xlk.additem ("dejar"); this.setLayout (nulo); 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 (esto); quitbt.addactionListener (this); this.setVisible (verdadero); } // Manejo de eventos específicos public Void ActionPerformed (ActionEvent E) {// Obtener la fuente de eventos Casting JButton BT = (JButton) E.GetSource (); // Obtener el texto que se muestra en la cadena del botón str = bt.gettext (); if (str.equals ("login")) {if (! checkisNull ()) {// Obtener el nombre de usuario ingresado por el usuario user = usertxt.gettext (). Trim (); // Obtenga la contraseña ingresada por la cadena del usuario pwd = pwdtxt.gettext (). Trim (); if (checkUserAnDPWD (usuario, pwd)) {// ocultar la ventana de inicio de sesión actual este.setVisible (falso); // Verifique que una ventana principal se cree con éxito mainframe frame = new mainframe (); } else {// Si está mal, un cuadro de visualización aparecerá joptionPane pane = new JoptionPane ("Error de usuario o contraseña"); Diálogo jdialog = pane.createdialog (esto, "advertencia"); dialog.show (); }}} else {// llame a una de las clases del sistema para salir de System.exit (0); }} private boolean checkisNull () {Boolean Flag = false; if (userTxt.gettext (). Trim (). Equals (")) {flag = true;} else {if (pwdtxt.gettext (). Trim (). Equals (")) {flag = true; }} Bandera de retorno; } private boolean checkUserAndPwd (String User, String pwd) {boolean resultado = false; Pruebe {archivo FileReader = new FileReader ("d: // Workspaces // myeclipse 8.5 // testGui.txt"); BufferedReader bre = new BufferedReader (archivo); Cadena str = bre.readline (); while (str! = null) {string [] strs = str.split (","); if (strs [0] .equals (usuario)) {if (strs [1] .equals (pwd)) resultado = true; } str = bre.readline (); } file.close (); } catch (excepción ex) {System.out.print (""); } resultado de retorno; }} // mainframe clase import javax.swing.*; Clase pública mainframe extiende jframe {public mainframe () {this.setsize (300, 300); this.setVisible (verdadero); }} // Generación de código de verificación import java.awt.*; Import java.util.*; Public class myPanel extiende panel {public void Paint (Graphics g) {int Hight = 50; int ancho = 90; // cuadro de código de verificación Color de fondo G.SetColor (color.light_gray); // llenar el código de verificación de fondo g.fillrect (0, 0, ancho, altura); G.SetColor (color.black); g.drawrect (0, 0, ancho-1, altura-1); Random r = new Random (); // Establecer el punto de interferencia para (int i = 0; i <100; i ++) {int x = r.nextint (ancho) -1; int y = R.NextInt (altura) -1; G.Drawoval (x, y, 2, 2); } G.SetFont (nueva fuente ("Bold", Font.Bold, 20)); // Establecer la fuente del código de verificación y el tamaño G.SetColor (color.red); // Establezca el código del código de verificación Font Color // Generar un código de verificación aleatorio char [] tmp = ("0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"). Tharray (); 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); // Código de verificación de escritura}} // Implementación del cuadro desplegable Importar java.awt.*; import java.awt.event.*; import javax.swing.*; clase pública xiaalakuang extiende jframe {private jcomboBox; // Define a ComboBoBoid (). // jpanel panel = new JPanel (); // Cree un panel jpanel comboBOX = new JComboBox (); comboBox.additem ("en línea"); comboBox.additem ("invisible"); comboBox.additem ("licencia"); this.add (comboBox); //this.add(panel); this.setsize (200, 100); this.setDefaultCloseOperation (jframe.exit_on_close); this.setVisible (verdadero); }} // PRUEBA CLASE PUBLICA TESTQQUGUI {/** * @param args */public static void main (string [] args) {// toDo método generado por auto-stub qqgui frame = new qqgui (); }}Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.