Cet article partage le code spécifique pour Java pour implémenter une interface de connexion QQ simple pour votre référence. Le contenu spécifique est le suivant
Java n'est pas un point fort dans l'interface graphique, mais il n'est pas impossible de le faire. Son open source est très agréable!
Le code d'implémentation est le suivant (si vous souhaitez implémenter une interface parfaite, vous pourriez avoir besoin de plus de support de codage):
package com.ts.x.swing; import java.awt.color; Importer Java.awt.Container; import java.awt.cursor; Importer 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; Importer javax.swing.jCheckbox; Importer javax.swing.jcombobox; Importer 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 classe publique QQ étend JFrame {private static final long SerialVersionUID = -6788045638380819221l; // nom d'utilisateur privé jTextfield ulname; // Mot de passe privé jpasswordfield ulpasswd; // petit conteneur privé JLabel J1; JLABEL privé J2; JLABEL PRIVÉE J3; JLABEL privé J4; // petit bouton privé Jbutton B1; Private Jbutton B2; Private Jbutton B3; // Checkbox Private JCheckbox C1; JCheckbox privé C2; // Liste de la boîte privée jcomboBox <string> CB1; / ** * Initialiser la page de connexion QQ * * / public qq () {// Définissez le titre de la fenêtre de connexion this.settitle ("qq connexion"); // Retirez la décoration de la fenêtre (bordure) // this.setUndeCorated (true); // Utilisez le style décoratif de fenêtre spécifié this.getRootPane (). SetWindowDecorationStyle (jrootpane.none); // initialise le composant de formulaire init (); this.setDefaultCloseOperation (jframe.exit_on_close); // Définissez la mise en page sur le positionnement absolu this.setLayout (null); this.setbounds (0, 0, 355, 265); // Définissez l'image de l'icône de formulaire img0 = new ImageIcon ("d: /logo.png"). GetImage (); this.seticonImage (IMG0); // La taille du formulaire ne peut pas être modifiée ce.SetResiSable (false); // Le centre affiche ce.SetLocationRelativeto (null); // Le formulaire affiche ce.SetVisible (true); } / ** * Initialisation du composant de formulaire * * / public void init () {// Créer un conteneur, la taille de l'image et les troisième et quatrième paramètres de setbounds doivent être essentiellement les mêmes (vous devez le calculer et le recadrer vous-même) conteneur de conteneur = this.getContentPane (); j1 = new JLabel (); // Définit l'image de couleur d'arrière-plan img1 = new ImageIcon ("d: /bgimg.png"). GetImage (); J1.seTICon (New ImageIcon (IMG1)); J1.SetBounds (0, 0, 355, 265); // QQ AVATAR RÉGLAGE J2 = new JLABEL (); Image img2 = new ImageIcon ("d: /hdimg.png"). GetImage (); J2.SeTICon (New ImageIcon (IMG2)); J2.SetBounds (40, 95, 50, 53); // Nom d'utilisateur Box Box Ulname = new JTextField (); ulname.setbounds (100, 100, 150, 20); // Registre du compte J3 = new JLABEL ("Register le compte"); J3.SetBounds (260, 100, 70, 20); // Boîte d'entrée de mot de passe ulpasswd = new JPasswordField (); ulpasswd.setbounds (100, 130, 150, 20); // Récupérer le mot de passe j4 = new JLabel ("récupérer le mot de passe"); J4.SetBounds (260, 130, 70, 20); // N'oubliez pas le mot de passe c1 = new JCheckbox ("Rappelez-vous le mot de passe"); C1.SetBounds (105, 155, 80, 15); // Connexion automatique C2 = new JCheckbox ("Login automatique"); C2.SetBounds (185, 155, 80, 15); // Sélection de l'état de connexion utilisateur CB1 = new JComboBox <string> (); cb1.additem ("en ligne"); CB1.Additem ("Invisible"); CB1.Additem ("Leave"); CB1.SetBounds (40, 150, 55, 20); // Bouton de connexion b1 = new JBUTTON ("Connexion"); // définir la police et le pointeur de couleur et le pointeur à main b1.setfont (new Font ("宋体", font.plain, 12)); b1.setForeground (Color.Red); b1.setCursor (cursor.getPreDefinedCursor (cursor.hand_cursor)); B1.SetBounds (280, 200, 65, 20); // ajouter b1.addactionListener (new ActionListener () {@Override public void ActionPerformed (ActionEvent e) {String cmd = e.getActionCommand (); if ("login" .equal && userpassword.equals ("123456")) {joptionpane.showconfirmDialog (null, "connecter avec succès"); // compte multiple b2 = new JButton ("compte multiple"); B2.Setbounds (5, 200, 75, 20); // setB3 = new Jbutton ("set"); B3.SetBounds (100, 200, 65, 20); // Tous les composants sont chargés de conteneur 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); contener.add (J1); contener.add (ulname); contener.add (ulpasswd); } public static void main (String [] args) {new qq (); }}L'interface de résultat en cours est:
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.