Este artículo comparte el código específico para Java para implementar una interfaz de inicio de sesión QQ simple para su referencia. El contenido específico es el siguiente
Java no es un punto fuerte en la interfaz gráfica, pero no es imposible hacerlo. ¡Su código abierto es muy agradable!
El código de implementación es el siguiente (si desea implementar una interfaz perfecta, es posible que necesite más soporte de codificación):
paquete com.ts.x.swing; import java.awt.color; import java.awt.container; import java.awt.cursor; import java.awt.font; import java.awt.image; import java.awt.event.actionEvent; import java.awt.event.actionListener; import javax.swing.imageicon; import javax.swing.jbutton; import javax.swing.jcheckbox; import javax.swing.jcomboBox; import javax.swing.jcomboBox; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.JOptionPane; import javax.swing.jpasswordfield; import javax.swing.jrootpane; import javax.swing.jTextfield; La clase pública QQ extiende Jframe {Private Static Final Long SerialVersionUid = -6788045638380819221l; // Nombre de usuario Privado JTextfield Ulname; // contraseña privada jpasswordfield ulpasswd; // contenedor pequeño privado jlabel j1; Privado Jlabel J2; Privado Jlabel J3; Privado Jlabel J4; // Botón pequeño Privado JButton B1; Privado JButton B2; Privado JButton B3; // casilla de verificación Private JCheckbox C1; JCHECKBOX PRIVADO C2; // Buzón de lista Private JComboBox <String> CB1; /*** Inicializar la página de inicio de sesión QQ**/public qq () {// Establezca el título de la ventana de inicio de sesión this.settitle ("Qq login"); // eliminar la decoración de la ventana (borde) // this.setUndeCorated (verdadero); // Use el estilo decorativo de ventana especificado this.getRootPane (). SetWindowDecorationStyle (jrootpane.none); // Inicializar el componente de formulario init (); this.setDefaultCloseOperation (jframe.exit_on_close); // Establecer el diseño en posicionamiento absoluto este.setLayout (nulo); this.setBounds (0, 0, 355, 265); // Establecer la imagen de icono de formulario img0 = new Imageicon ("d: /logo.png"). GetImage (); this.SeticOnImage (IMG0); // El tamaño de la forma no se puede cambiar esto.setResizable (falso); // El centro muestra este.setLocationRelativeto (nulo); // El formulario muestra este.setVisible (verdadero); } /*** Formulario de inicialización de componentes** /public void init () {// Cree un contenedor, el tamaño de la imagen y el tercer y cuarto parámetros de setbounds deben ser básicamente los mismos (necesita calcularlo y recortarlo usted mismo) Container de contenedor = this.getContentPane (); j1 = new JLabel (); // Establecer la imagen de color de fondo img1 = new Imageicon ("d: /bgimg.png"). GetImage (); J1.Seticon (New Imageicon (IMG1)); J1.setBounds (0, 0, 355, 265); // Configuración de avatar qq j2 = new JLabel (); Imagen img2 = new Imageicon ("d: /hdimg.png"). GetImage (); J2.Seticon (nuevo Imageicon (IMG2)); J2.SetBounds (40, 95, 50, 53); // cuadro de entrada de nombre de usuario ulname = new JTextField (); ULNAME.SetBounds (100, 100, 150, 20); // Cuenta de registro J3 = new JLabel ("Cuenta de registro"); J3.setBounds (260, 100, 70, 20); // cuadro de entrada de contraseña ulpasswd = new JPasswordField (); ulpasswd.setBounds (100, 130, 150, 20); // recuperar contraseña j4 = new JLabel ("Recuperar contraseña"); J4.setBounds (260, 130, 70, 20); // Recuerda la contraseña c1 = new JCheckbox ("Recuerda contraseña"); c1.setBounds (105, 155, 80, 15); // Login automático C2 = new JCheckbox ("Automatic Login"); C2.SetBounds (185, 155, 80, 15); // Selección de estado de inicio de sesión del usuario CB1 = new JComboBox <String> (); cb1.additem ("en línea"); cb1.additem ("invisible"); CB1.Additem ("Leave"); CB1.SetBounds (40, 150, 55, 20); // Botón de inicio de sesión b1 = nuevo JButton ("Login"); // Establecer fuente y color y puntero de mano B1.setFont (nueva fuente ("宋体", font.plain, 12)); B1.setForefunder (color.red); B1.setCursor (cursor.getPredefinedCursor (cursor.hand_cursor)); B1.setBounds (280, 200, 65, 20); // Agregar b1.addactionListener (new ActionListener () {@Override public void ActionPerformed (ActionEvent E) {String cmd = e.getActionCommand (); if ("Login" .equals (cmd)) {String username = UlName.getText (); string userPassword = ulpasswd.gettext (); if (username.equals ("tskk") && userpassword.equals ("123456")) {joptionPane.showConfirmDialog (nulo, "login con éxito"); // cuenta múltiple b2 = nueva jButton ("cuenta múltiple"); B2.SetBounds (5, 200, 75, 20); // setb3 = new JButton ("Set"); b3.setBounds (100, 200, 65, 20); // Todos los componentes se cargan con contenedor J1.Add (J2); J1.Add (J3); J1.Add (J4); J1.Add (C1); J1.Add (C2); J1.Add (CB1); J1.Add (B1); J1.Add (B2); J1.Add (B3); contenedor.add (j1); Container.add (Ulname); Container.Add (ulpasswd); } public static void main (string [] args) {nuevo qq (); }}La interfaz de resultados en ejecución es:
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.