Ich studiere seit mehr als einem Jahr Java und übte Web. Ich stellte fest, dass ich GUI -Kenntnisse in einem Projekt verwenden musste, aber ich konnte es nicht tun. Es gab nicht viele Artikel über diese Online -Artikeln, also musste ich die Kugel beißen und sie von Grund auf neu lernen. Nach dem Lernen stellte ich jedoch fest, dass die GUI tatsächlich sehr interessant ist. Es beruht nicht wie Webprogramme auf das Internet, und es gibt viele Layouts, die sich nicht sehr von Android unterscheiden. Dann fand ich, dass ich mich wieder in die GUI -Entwicklung verliebt habe. Ich werde nicht viel sagen, fügen Sie einfach den Code hinzu. Ich glaube, dass diejenigen, die Android oder verwandte Schnittstellen entwickelt haben, die Wahrheit verstehen.
Lassen Sie uns zuerst den Effekt sehen
1. Melden Sie sich an der Hauptschnittstelle an
Paket edu.gzu.stumanager; Import Java.awt.Eventqueue; importieren javax.swing.jframe; import Javax.swing.jlabel; import Javax.swing.joptionpane; import Java.awt.toolkit; importieren javax.swing.jtextfield; Import edu.gzu.stumanager.dao.userloginvalid; Import edu.gzu.stumanager.domain.studentInfo; importieren edu.gzu.stumanager.view.studentMainView; import Java.awt.choice; import Java.awt.font; Import Java.awt.Button; Import Java.awt.event.Mouseadapter; import Java.awt.event.mouseeEvent; öffentliche Klasse Mainui {private jframe Frame; Private JTextfield Textfield; private jTextfield textfield_1; /*** Starten Sie die Anwendung. */ public static void main (string [] args) {eventQueue.invokelater (new Runnable () {public void run () {try {mainui window = new MainUi (); fenws.setVisible (true);} catch (Ausnahme (Ausnahme) {e.printStacktrace ();}}}}}); } /*** Erstellen Sie die Anwendung. */ public mainui () {initialize (); } /*** Initialisieren Sie den Inhalt des Rahmens. */ 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 = new JLabel ("/u5b66/u751f/u6210/u7ee9/u7ba1/u7406/u7cfb/u7edf/u7528/u6237/u767b/u5f55/uff01")); lblNewLabel.setFont (neue Schriftart ("宋体", font.plain, 16)); LBLNewLabel.SetBounds (111, 17, 287, 15); Frame.GetContentPane (). add (lblNewLabel); JLabel LBLNewLabel_1 = new JLabel ("/u7528/u6237/u540d/uff1a"); lblNewlabel_1.setfont (neue Schriftart ("宋体", 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 (neue Schriftart ("宋体", font.plain, 14)); Label.Setbounds (87, 108, 67, 15); Frame.GetContentPane (). Add (Etikett); 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 (neue Schriftart ("安体", font.plain, 14)); LBLNewLabel_2.SetBounds (105, 150, 97, 15); Frame.GetContentPane (). add (lblNewLabel_2); Finale Choice Choice = New Choice (); Choice.Setbounds (210, 147, 74, 21); Choice.Add ("Student"); Choice.Add ("Lehrer"); choice.add ("systener"); Frame.GetContentPane (). Add (Auswahl); Schaltfläche Schaltfläche = neue Taste ("/u767b/u5f55"); Button.SetBounds (87, 194, 76, 23); button.addMouselistener (neuer mouseadapter () {@Override public void mouseclicked (MouseEvent e) {String user = textField.GeteText (); String password = textfield_1.getText (); String Shenfen = Choice.getSectedem (); JOPTIONPANE.SHOWMESSAGELOGOG (Rahmen, Shenfen+": Hallo, das Konto kann nicht leer sein!") StudentInfo (Integer.ParseInt (Benutzer), Integer.ParseInt (Passwort), Shenfen); StudentMainView (STU); Frame.GetContentPane (). Add (Taste); Taste Taste_1 = Neue Schaltfläche ("/u53d6/u6d88"); Button_1.Setbounds (219, 194, 76, 23); Frame.GetContentPane (). add (button_1); }}2. Logik zur Anmeldeverifizierung
Paket edu.gzu.stumanager.dao; Import edu.gzu.stumanager.domain.studentInfo; public class userLoginvalid {public String isvalid (studentInfo stu) {int idnum = stu.getIdnum (); int password = stu.getPassword (); String idntify = stu.getIdentify (); String -Ergebnis = null; if ("student" .equals (idntify)) {if (idnum == 1207010209 && password == 123) {stu.setName ("liu mingsheng"); result = "erfolgreich anmelden!"; } else {result = "Dieser Benutzer existiert nicht im Schülerkonto. Bitte bestätigen Sie Ihre Identität und melden Sie sich erneut an!"; }} else if ("lehrer" .equals (idntify)) {if (idnum == 1174386356 && password == 123) {stu.setname ("Lehrer liu mingsheng"); result = "erfolgreich anmelden!"; } else {result = "Dieser Benutzer existiert nicht im Lehrerkonto. Bitte bestätigen Sie Ihre Identität und melden Sie sich erneut an!"; }} else if ("Systemadministrator" .Equals (idntify)) {if (idnum == 999999 && password == 123) {stu.setName ("Systemadministrator"); result = "erfolgreich anmelden!"; } else {result = "Dieser Benutzer existiert nicht im Systemadministratorkonto. Bitte bestätigen Sie Ihre Identität und melden Sie sich erneut an!"; }} Rückgabeergebnis; }}3. Benutzerobjekt (dies ist eine einfache Bohne)
Paket edu.gzu.stumanager.Domain; öffentliche Klasse studentInfo {private int idnum; privater Zeichenfolge Name; privates int Passwort; private Zeichenfolge identifizieren; public studentInfo (int idnum, int password, String identifizieren) {super (); this.idnum = idnum; this.Password = Passwort; this.Identify = identifizieren; } public int getIdnum () {return idnum; } public void setIdnum (int idnum) {this.idnum = idnum; } public String getName () {return name; } public void setName (String -Name) {this.name = name; } public int getSpassword () {Passwort zurückgeben; } public void setPassword (int password) {this.Password = password; } public String getIdentify () {return identifizieren; } public void setIdentify (String identifizieren) {this.Identify = identifizieren; }}4. Die Hauptschnittstelle nach erfolgreichem Login
Paket edu.gzu.stumanager.View; Import Java.awt.Button; import Java.awt.canvas; import Java.awt.choice; Import Java.awt.Color; import Java.awt.toolkit; Import Java.awt.event.ItemEvent; import Java.awt.event.ItemListener; importieren javax.swing.jframe; import Javax.swing.jlabel; import Javax.swing.joptionpane; import Javax.swing.jpanel; importieren javax.swing.jtextfield; Import edu.gzu.stumanager.domain.studentInfo; public class studentMainview {private JFrame Frame; Private JTextfield Textfield; private jTextfield textfield_1; private jTextfield textfield_2; private jTextfield textfield_3; private studentInfo Info; /*** Erstellen Sie den Rahmen. * @wbp.parser.entrypoint */ public studentMainView (studentInfo info) {this.info = info; } public JFrame getFrame () {initialize (); Rücklaufrahmen; } /*** Initialisieren Sie den Inhalt des Rahmens. * @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 ()+"] sich beim Student Score Management System anmelden!"); LBLNewLabel.SetBounds (54, 10, 322, 15); Frame.GetContentPane (). add (lblNewLabel); JPanel Panel = new Jpanel (); Panel.Setbounds (29, 52, 250, 180); Frame.GetContentPane (). Add (Panel); panel.setLayout (null); JLabel LBLNewLabel_1 = new JLabel ("/u6210/u7ee9/u6570/u636e"); LBLNewLabel_1.Setbounds (94, 10, 65, 15); panel.Add (lblNewLabel_1); JLabel LBLNewLabel_2 = new JLabel ("/u5b66/u53f7/uff1a"); LBLNewLabel_2.SetBounds (22, 37, 40, 15); panel.Add (lblNewLabel_2); textField = new JTextField (); textfield.SetBounds (72, 35, 154, 21); textField.setText (info.getIdnum ()+""); Panel.Add (TextField); textfield.setColumns (10); JLabel LBLNewLabel_3 = new JLabel ("/u59d3/u540d/uff1a"); LBLNewLabel_3.SetBounds (22, 67, 44, 15); panel.Add (lblNewLabel_3); textfield_1 = new JTextField (); textfield_1.setBounds (72, 66, 154, 21); textfield_1.setText (info.getName ()); Panel.Add (textfield_1); textfield_1.setColumns (10); Canvas canvas = new canvas (); canvas.setbackground (color.Blue); Canvas.Setbounds (22, 100, 205, 1); panel.Add (Leinwand); JLabel LBLNewLabel_4 = new JLabel ("/u8bfe/u7a0b/u540d"); LBLNewLabel_4.SetBounds (22, 116, 47, 15); panel.Add (lblNewLabel_4); JLabel LBLNewLabel_5 = new JLabel ("/u6210/u7ee9"); LBLNewLabel_5.SetBounds (160, 116, 43, 15); panel.Add (lblNewLabel_5); textfield_2 = new JTextField (); textfield_2.setBounds (22, 140, 123, 21); Panel.Add (textfield_2); textfield_2.setColumns (10); textfield_3 = new JTextField (); textfield_3.setBounds (159, 140, 66, 21); Panel.Add (textfield_3); textfield_3.setColumns (10); Jpanel panel_1 = new jpanel (); Panel_1.Setbounds (317, 52, 110, 180); Frame.GetContentPane (). add (panel_1); panel_1.setLayout (null); JLabel LBLNewLabel_6 = new JLabel ("/u64cd/u4f5c/u83dc/u5355"); LBLNewLabel_6.Setbounds (15, 10, 54, 15); panel_1.add (lblNewLabel_6); Taste Schaltfläche = neue Taste ("/u7b2c/u4e00/u95e8/u8bfe/u7a0b"); Taste.Setbounds (10, 31, 76, 23); Panel_1.Add (Taste); Taste Button_1 = Neue Schaltfläche ("/u4e00/u95e8/u8bfe/u7a0b"); Button_1.Setbounds (10, 61, 76, 23); panel_1.add (button_1); Taste Button_2 = Neue Schaltfläche ("/u4e0a/u4e00/u95e8/u8bfe/u7a0b"); button_2.setactionCommand ("/u4e0a/u4e00/u95e8/u8bfe/u7a0b"); Button_2.SetBounds (10, 90, 76, 23); panel_1.add (button_2); Taste Button_3 = Neue Schaltfläche ("/u6700/u540e/u4e00/u95e8/u8bfe"); Button_3.SetBounds (10, 117, 76, 23); panel_1.add (button_3); Choice Choice = New Choice (); Auswahl.Setbounds (10, 149, 76, 21); Wählen Sie.Add ("Kurs auswählen"); Wählen Sie.Add ("Advanced Mathematics"); Wählen Sie.Add ("University English"); Wählen Sie.Add ("Marxismus-Leninismus"); Wählen Sie.Add ("Mao Zedong Gedanke"); Wählen Sie.Add ("Computergrafik"); Wählen Sie.AdditemListener (new itemListener () {@Override public void itemStatEchanged (itemEvent e) {Object [] objs = e.getItemSelectable (). Mathematics ".equals (ob.toString ()) {textfield_2.setText (" Advanced Mathematics "); textfield_3.setText (" 98 ");} else if (" College English ".equals (ob.toString ()) {textfield_2.settext (" College English "); if ("Marxism-Leninismus" .Equals (ob.toString ()) {textfield_2.setText ("Marxismus-Leninismus"); textfield_3.setText ("73"); panel_1.add (Auswahl); }}Dies ermöglicht eine einfache Anmeldeverifizierung. Ich hatte vor, Daten aus der Datenbank zu lesen, aber aus zeitlichen Einschränkungen werde ich sie hier einfach und direkt überprüfen. Wenn ich Zeit habe, werde ich andere Teile machen.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.