J'étudie Java depuis plus d'un an et je pratique le Web. J'ai trouvé que j'avais besoin d'utiliser des connaissances liées à l'interface graphique dans un projet, mais je ne pouvais pas le faire. Il n'y avait pas beaucoup d'articles à ce sujet en ligne, j'ai donc dû mordre la balle et l'apprendre à zéro. Cependant, après avoir appris, j'ai trouvé que l'interface graphique est en fait très intéressante. Il ne reposait pas sur Internet comme les programmes Web, et il existe de nombreuses mises en page qui ne sont pas très différentes d'Android. Ensuite, j'ai découvert que je suis tombé amoureux du développement de l'interface graphique. Je ne dirai pas grand-chose, ajoutez simplement le code. Je crois que ceux qui ont développé des interfaces Android ou connexes comprennent la vérité.
Voyons l'effet en premier
1. Connectez-vous à l'interface principale
package edu.gzu.stumanager; import java.awt.eventqueue; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.joptionpane; import java.awt.toolkit; import javax.swing.jtextfield; importer edu.gzu.stumanager.dao.userloginvalid; importer edu.gzu.stumanager.domain.studentinfo; Importer edu.gzu.stumanager.view.StudentMainView; Importer java.awt.choice; Importer java.awt.font; import java.awt.button; Importer java.awt.event.mousEadapter; Importer java.awt.event.mousevent; classe publique Mainui {cadre JFrame privé; Jtexfield privé Textfield; privé jTextField TextField_1; / ** * Lancez l'application. * / public static void main (String [] args) {eventQueue.invokelater (new Runnable () {public void run () {try {Mainui window = new MainUi (); window.frame.setVisible (true);} catch (exception e) {e.printStStackTrace ();}}}); } / ** * Créez l'application. * / public Mainui () {initialize (); } / ** * Initialisez le contenu du cadre. * / private void initialize () {frame = new JFrame (); frame.settitle ("/ u6210 / u7ee9 / u7ba1 / u7406 / u7cfb / u7edf / uff08 / u767b / u5f55 / uff09"); frame.seticonImage (Toolkit.getDefaultToolkit (). getImage (mainui.class.getResource ("/ image / func_list7_privmana.png"))); frame.setbounds (400, 250, 450, 300); frame.setDefaultCloseOperation (jframe.exit_on_close); frame.getContentPane (). setLayout (null); JLABEL LBLNEWLABEL = NOUVEAU JLABEL ("/ U5B66 / U751F / U6210 / U7EE9 / U7BA1 / U7406 / U7CFB / U7EDF / U7528 / U6237 / U767B / U5F55 / UFF01"); lblnewLabel.setfont (new Font ("宋体", font.plain, 16)); LBLNEWLABEL.SetBounds (111, 17, 287, 15); frame.getContentPane (). Add (lblNewLabel); JLABEL LBLNEWLABEL_1 = NOUVEAU JLABEL ("/ U7528 / U6237 / U540D / UFF1A"); lblnewLabel_1.setfont (new Font ("宋体", font.plain, 14)); lblnewLabel_1.setBounds (87, 67, 67, 15); frame.getContentPane (). Add (lblNewLabel_1); TextField = new JTextField (); TextField.SetBounds (154, 64, 141, 21); frame.getContentPane (). Add (TextField); TextField.SetColumns (10); JLABEL Label = new JLabel ("/ u5bc6 / u7801 / uff1a"); Label.SetFont (nouveau Font ("宋体", Font.Plain, 14)); Label.SetBounds (87, 108, 67, 15); frame.getContentPane (). Add (label); TextField_1 = new JTextField (); TextField_1.setColumns (10); TextField_1.setBounds (154, 103, 141, 21); frame.getContentPane (). Add (TextField_1); JLabel lblnewLabel_2 = new JLabel ("/ u6211 / u7684 / u8eab / u4efd / u662f / uff1a"); lblnewLabel_2.setfont (new Font ("安体", font.plain, 14)); LBLNEWLABEL_2.SetBounds (105, 150, 97, 15); frame.getContentPane (). Add (lblNewLabel_2); Choix final Choice = nouveau choix (); Choice.SetBounds (210, 147, 74, 21); Choice.Add ("Student"); Choice.Add ("professeur"); Choice.Add ("Systener"); frame.getContentPane (). Add (choix); Bouton bouton = nouveau bouton ("/ u767b / u5f55"); Button.setbounds (87, 194, 76, 23); Button.AddMouseListener (new MouseAdapter () {@Override public void Mouseclicked (MouseEvent E) {String User = TextField.getText (); String Password = TextField_1.getText (); String Shenfen = Choice.getSelectedItem (); if (user.equals (") || user == null) {JoptionPane. Shenfen + ": Bonjour, le compte ne peut pas être vide!"); Integer.Parseint (mot de passe), Shenfen); Frame2 = index.getFrame (); frame frame.getContentPane (). Add (bouton); Button Button_1 = nouveau bouton ("/ u53d6 / u6d88"); Button_1.setBounds (219, 194, 76, 23); frame.getContentPane (). Add (Button_1); }}2. Logique de vérification de connexion
package edu.gzu.stumanager.dao; importer edu.gzu.stumanager.domain.studentinfo; classe publique UserLoginValid {public String isValid (StudentInfo Stu) {int idnum = stu.getIdnum (); int mot de passe = stu.getpassword (); String idntify = stu.getIdentify (); Résultat de chaîne = null; if ("Student" .Equals (idntify)) {if (idnum == 1207010209 && mot de passe == 123) {stu.setname ("liu mingsheng"); résultat = "Connexion avec succès!"; } else {result = "Cet utilisateur n'existe pas dans le compte étudiant. Veuillez confirmer votre identité et vous connecter à nouveau!"; }} else if ("enseignant" .equals (idntify)) {if (idnum == 1174386356 && mot de passe == 123) {stu.setName ("Teacher liu mingsheng"); résultat = "Connexion avec succès!"; } else {result = "Cet utilisateur n'existe pas dans le compte de l'enseignant. Veuillez confirmer votre identité et vous connecter à nouveau!"; }} else if ("System Administrator" .Equals (idntify)) {if (idnum == 999999 && mot de passe == 123) {stu.setName ("System Administrator"); résultat = "Connexion avec succès!"; } else {result = "Cet utilisateur n'existe pas dans le compte d'administrateur système. Veuillez confirmer votre identité et vous connecter à nouveau!"; }} Retour Résultat; }}3. Objet utilisateur (c'est un simple haricot)
package edu.gzu.stumanager.domain; classe publique StudentInfo {private int idnum; nom de chaîne privé; Mot de passe int privé; chaîne privée identifier; public StudentInfo (int idnum, int mot de passe, chaîne identifie) {super (); this.idnum = idnum; this.password = mot de passe; this.identify = identifier; } public int getIdnum () {return idnum; } public void setidnum (int idnum) {this.idnum = idnum; } public String getName () {Nom de retour; } public void setName (string name) {this.name = name; } public int getPassword () {retour de mot de passe; } public void setPassword (int mot de passe) {this.password = mot de passe; } public String getIdentify () {return identifier; } public void setIdentify (String identified) {this.identify = identifier; }}4. L'interface principale après une connexion réussie
package edu.gzu.stumanager.view; import java.awt.button; import java.awt.canvas; Importer java.awt.choice; import java.awt.color; import java.awt.toolkit; import java.awt.event.iteMEvent; import java.awt.event.itemListener; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.joptionpane; import javax.swing.jpanel; import javax.swing.jtextfield; importer edu.gzu.stumanager.domain.studentinfo; classe publique StudentMainView {cadre JFrame privé; Jtexfield privé Textfield; privé jTextField TextField_1; privé jTextfield TextField_2; privé jTextfield TextField_3; Informations pour étudiants privés; / ** * Créez le cadre. * @ wbp.parser.entrypoint * / public StudentMainView (StudentInfo info) {this.info = info; } public jFrame getFrame () {initialize (); cadre de retour; } / ** * Initialisez le contenu du cadre. * @ wbp.parser.entrypoint * / public void initialize () {frame = new JFrame (); frame.settitle ("/ u6210 / u7ee9 / u7ba1 / u7406 / u7cfb / u7edf / uff08 / u5b66 / u751f / u7248 / uff09"); frame.seticonImage (Toolkit.getDefaultToolkit (). GetImage (StudentMainView.class.getResource ("/ image / func_list7_privmana.png"))); frame.setbounds (300,150, 550, 300); frame.setDefaultCloseOperation (jframe.exit_on_close); frame.getContentPane (). setLayout (null); JLabel lblNewLabel = new JLabel ("Welcome [" + info.getName () + "] pour se connecter au système de gestion des scores d'étudiants!"); LBLNEWLABEL.SetBounds (54, 10, 322, 15); frame.getContentPane (). Add (lblNewLabel); Jpanel Panel = new JPanel (); Panel.Setbounds (29, 52, 250, 180); frame.getContentPane (). Add (panneau); PANNEL.SETLAYOUT (NULL); JLABEL LBLNEWLABEL_1 = NOUVEAU JLABEL ("/ U6210 / U7EE9 / U6570 / U636E"); lblnewLabel_1.setBounds (94, 10, 65, 15); PANNEL.ADD (LBLNEWLABEL_1); JLABEL LBLNEWLABEL_2 = NOUVEAU JLABEL ("/ U5B66 / U53F7 / UFF1A"); LBLNEWLABEL_2.SetBounds (22, 37, 40, 15); PANNEL.ADD (LBLNEWLABEL_2); TextField = new JTextField (); TextField.SetBounds (72, 35, 154, 21); TextField.SeTText (info.getIdnum () + ""); PANNEL.ADD (TextField); TextField.SetColumns (10); JLABEL LBLNEWLABEL_3 = NOUVEAU JLABEL ("/ U59D3 / U540D / UFF1A"); LBLNEWLABEL_3.SetBounds (22, 67, 44, 15); PANNEL.ADD (LBLNEWLABEL_3); TextField_1 = new JTextField (); TextField_1.setBounds (72, 66, 154, 21); TextField_1.seTText (info.getName ()); PANNEL.ADD (TextField_1); TextField_1.setColumns (10); Canvas Canvas = new Canvas (); canvas.setbackground (Color.Blue); Canvas.setbounds (22, 100, 205, 1); PANNEL.ADD (Canvas); JLABEL LBLNEWLABEL_4 = NOUVEAU JLABEL ("/ U8BFE / U7A0B / U540D"); LBLNEWLABEL_4.SetBounds (22, 116, 47, 15); PANNEL.ADD (LBLNEWLABEL_4); JLABEL LBLNEWLABEL_5 = NOUVEAU JLABEL ("/ U6210 / U7EE9"); LBLNEWLABEL_5.SetBounds (160, 116, 43, 15); PANNEL.ADD (LBLNEWLABEL_5); TextField_2 = new JTextField (); TextField_2.SetBounds (22, 140, 123, 21); PANNEL.ADD (TextField_2); TextField_2.SetColumns (10); TextField_3 = new JTextField (); TextField_3.SetBounds (159, 140, 66, 21); PANNEL.ADD (TextField_3); TextField_3.SetColumns (10); Jpanel Panel_1 = new JPanel (); PANNEL_1.SetBounds (317, 52, 110, 180); frame.getContentPane (). Add (Panel_1); PANNEL_1.SetLayout (null); JLabel lblnewLabel_6 = new JLabel ("/ u64cd / u4f5c / u83dc / u5355"); lblnewLabel_6.setbounds (15, 10, 54, 15); PANNEL_1.ADD (LBLNEWLABEL_6); Bouton bouton = nouveau bouton ("/ u7b2c / u4e00 / u95e8 / u8bfe / u7a0b"); Button.setbounds (10, 31, 76, 23); PANNEL_1.ADD (Button); Button Button_1 = nouveau bouton ("/ u4e00 / u95e8 / u8bfe / u7a0b"); Button_1.setBounds (10, 61, 76, 23); PANNEL_1.ADD (Button_1); Button Button_2 = nouveau bouton ("/ u4e0a / u4e00 / u95e8 / u8bfe / u7a0b"); Button_2.SetActionCommand ("/ u4e0a / u4e00 / u95e8 / u8bfe / u7a0b"); Button_2.SetBounds (10, 90, 76, 23); PANNEL_1.ADD (Button_2); Button Button_3 = nouveau bouton ("/ u6700 / u540e / u4e00 / u95e8 / u8bfe"); Button_3.SetBounds (10, 117, 76, 23); PANNEL_1.ADD (Button_3); Choice Choice = nouveau choix (); Choice.SetBounds (10, 149, 76, 21); Choose.Add ("SELECT Course"); Choose.Add ("Mathématiques avancées"); Choose.Add ("University English"); Choose.add ("Marxisme-Léninisme"); Choose.Add ("Mao Zedong Thought"); Choose.Add ("Informatique graphiques"); Choose.AdDitemListener (new ItemListener () {@Override public void itemStateChanged (itemEvent e) {object [] objs = e.getItemSelectable (). getSelectedObjects (); for (object ob. Mathématiques ".Equals (ob.toString ())) {textField_2.setText (" Mathematics avancé "); TextField_3.SeTTEXT (" 98 ");} else if (" College English ".Equals (ob.tostring ())) {TextField_2.settex if ("marxisme-leninisme" .equals (ob.toString ())) {textfield_2.setText ("marxisme-léninisme"); TextField_3.SeTText ("73");} else if (". PANNEL_1.ADD (choix); }}Cela permettra une vérification facile de connexion. J'ai prévu de lire les données de la base de données, mais en raison de contraintes de temps, je vais simplement le vérifier ici et directement ici. Si j'ai le temps, je ferai d'autres parties.
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.