私はJavaを1年以上勉強しており、Webを練習してきました。プロジェクトでGUI関連の知識を使用する必要があることがわかりましたが、できませんでした。このオンラインには多くの記事がなかったので、弾丸を噛んでゼロから学ばなければなりませんでした。しかし、学んだ後、GUIは実際に非常に興味深いことがわかりました。 Webプログラムのようなインターネットに依存しておらず、Androidとそれほど違いはない多くのレイアウトがあります。それから私は再びGUI開発に恋をしたことがわかりました。私はあまり言いません、コードを追加するだけです。 Androidまたは関連するインターフェイスを開発した人は、真実を理解していると思います。
最初に効果を見てみましょう
1。メインインターフェイスにログインします
パッケージedu.gzu.stumanager; java.awt.eventqueueをインポートします。 javax.swing.jframeをインポートします。 javax.swing.jlabelをインポートします。 javax.swing.joptionpaneをインポートします。 java.awt.toolkitをインポートします。 javax.swing.jtextfieldをインポートします。 Import edu.gzu.stumanager.dao.userloginvalid; Import edu.gzu.stumanager.domain.studentinfo; edu.gzu.stumanager.view.studentmainviewをインポートします。 java.awt.choiceをインポートします。 java.awt.fontをインポートします。 java.awt.buttonをインポートします。 java.awt.event.mouseadapterをインポートします。 java.awt.event.MouseEventをインポートします。 Public Class Mainui {プライベートJFrameフレーム;プライベートJTextfield Textfield;プライベートJTextField Textfield_1; /***アプリケーションを起動します。 */ 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.printstacktrace();}); } /***アプリケーションを作成します。 */ public mainui(){initialize(); } /***フレームの内容を初期化します。 */ 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/u7210/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 = new 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(new 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);最終的な選択選択= new Choice(); Choice.setbounds(210、147、74、21); choice.add( "sudent"); choice.add( "教師"); choice.add( "systener"); frame.getContentPane()。add(choice);ボタンボタン=新しいボタン( "/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.getSelectemiTem(); if( ")||ユーザー== null); joptionpane.showmessagealog(shenfen+":アカウントは空になりません!」} StudentInfo(integer.parseint(shenfen)、new userloginvalid(); StudentMainView(STU); frame.getContentPane()。追加(ボタン); Button button_1 = new Button( "/u53d6/u6d88"); button_1.setbounds(219、194、76、23); frame.getContentPane()。add(button_1); }}2。ログイン検証ロジック
パッケージedu.gzu.stumanager.dao; Import edu.gzu.stumanager.domain.studentinfo; public class userloginvalid {public string isvalid(sustentIninfo stu){int idnum = stu.getidnum(); int password = stu.getPassword(); string idntify = stu.getidentify();文字列結果= null; if( "sustent" .equals(idntify)){if(idnum == 1207010209 && password == 123){stu.setname( "liu mingsheng"); result = "ログインに正常に!"; } else {result = "このユーザーは学生アカウントに存在しません。身元を確認して、もう一度ログインしてください!"; }} else if( "Teacher" .equals(idntify)){if(idnum == 1174386356 && password == 123){stu.setname( "Teacher liu mingsheng"); result = "ログインに正常に!"; } else {result = "このユーザーは教師アカウントに存在しません。身元を確認して、もう一度ログインしてください!"; }} else if( "System Administrator" .equals(idntify)){if(idnum == 999999 && password == 123){stu.setName( "System Administrator"); result = "ログインに正常に!"; } else {result = "このユーザーはシステム管理者アカウントに存在しません。身元を確認して、もう一度ログインしてください!"; }} return result; }}3。ユーザーオブジェクト(これは単純な豆です)
パッケージedu.gzu.stumanager.domain; Public Class StudentInfo {private int idnum;プライベート文字列名;プライベートINTパスワード。プライベート文字列識別; Public StudentIninfo(int idnum、int password、string識別){super(); this.idnum = idnum; this.password = password; this.identify =識別; } 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 getPassWord(){passwordを返します。 } public void setPassword(int password){this.password = password; } public string getIdentify(){return識別; } public void setIdentify(string識別){this.identify =識別; }}4.ログインが成功した後のメインインターフェイス
パッケージedu.gzu.stumanager.view; java.awt.buttonをインポートします。 java.awt.canvasをインポートします。 java.awt.choiceをインポートします。 java.awt.colorをインポートします。 java.awt.toolkitをインポートします。 java.awt.event.itemeventをインポートします。 java.awt.event.itemlistenerをインポートします。 javax.swing.jframeをインポートします。 javax.swing.jlabelをインポートします。 javax.swing.joptionpaneをインポートします。 javax.swing.jpanelをインポートします。 javax.swing.jtextfieldをインポートします。 Import edu.gzu.stumanager.domain.studentinfo; Public Class StudentMainView {Private JFrame Frame;プライベートJTextfield Textfield;プライベートJTextField Textfield_1;プライベートJTextField Textfield_2;プライベートJTextField Textfield_3; Private StudentInInfo情報; /***フレームを作成します。 * @wbp.parser.entrypoint */ public StudentMainView(studentInfo info){this.info = info; } public jframe getFrame(){initialize();戻りフレーム。 } /***フレームの内容を初期化します。 * @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()+"]学生スコア管理システムにログインする!"); lblnewlabel.setbounds(54、10、322、15); frame.getContentPane()。add(lblnewlabel); jpanelパネル= new JPanel(); panel.setbounds(29、52、250、180); frame.getContentPane()。追加(パネル); 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(canvas); 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);ボタンボタン= newボタン( "/u7b2c/u4e00/u95e8/u8bfe/u7a0b"); button.setbounds(10、31、76、23); panel_1.add(ボタン); Button button_1 = new Button( "/u4e00/u95e8/u8bfe/u7a0b"); button_1.setbounds(10、61、76、23); panel_1.add(button_1); Button button_2 = new Button( "/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); Button button_3 = new Button( "/u6700/u540e/u4e00/u95e8/u8bfe"); button_3.setbounds(10、117、76、23); panel_1.add(button_3);選択選択= new Choice(); Choice.setbounds(10、149、76、21); chood.add( "select course"); chood.add( "advanced Mathematics"); choice.add( "University English"); choice.add( "マルクス主義 - レニン主義"); chooke.add( "mao zedong should"); choice.add( "Computer Graphics"); chood.additemlistener(new itemListener(){@Override public void itemStateChanged(object e){object [] objs = e.getItemSelectable()。getSelectedObjects(); 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-leninism" .equals(ob.tostring()){textfield_2.settext( "Marxism-leninism"); textfield_3.settext( "73"); panel_1.add(choice); }}これにより、簡単なログイン検証が可能になります。データベースからデータを読むことを計画しましたが、時間の制約により、ここで簡単に直接検証します。時間があれば、他の部分を実行します。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。