Я изучаю Java более года и занимался веб -страной. Я обнаружил, что мне нужно использовать знания, связанные с графическим интерфейсом в проекте, но я не мог этого сделать. В этом онлайн было не так много статей, поэтому мне пришлось укусить пулю и выучить ее с нуля. Однако после обучения я обнаружил, что графический интерфейс на самом деле очень интересен. Он не полагается на Интернет, как веб -программы, и есть много макетов, которые не сильно отличаются от 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; Импорт edu.gzu.stumanager.dao.userloginvalid; импортировать edu.gzu.stumanager.domain.studentinfo; Import edu.gzu.stumanager.view.studentmainview; импортировать java.awt.choice; импортировать java.awt.font; Импорт java.awt.button; импортировать java.awt.event.mouseadapter; Импорт java.awt.event.mouseeVent; открытый класс mainui {private jframe frame; Private Jtextfield Textfield; Private 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 () {инициализировать (); } /*** Инициализируйте содержимое кадра. */ private void инициализировать () {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 (новый шрифт ("宋体", 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 (новый шрифт ("宋体", 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 (новый шрифт ("宋体", 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); Окончательный выбор выбора = новый выбор (); Choice.SetBounds (210, 147, 74, 21); Выбор. ADD ("Студент"); Выбор. ADD («Учитель»); Выбор. ADD ("Systener"); Frame.getContentPane (). Add (выбор); Кнопка кнопки = новая кнопка ("/u767b/u5f55"); Button.SetBounds (87, 194, 76, 23); Button.AddMouseListener (new MouseAdapter () {@Override public void mouseClicked (mouseEvent e) {string user = textfield.getText (); String passwer = textfield_1.getText (); String shenfen = choice.getSelectionitem (); if (user.equals (") || Shenfen+"Привет, учетная запись не может быть пустой!"); Integer.parseint (пароль), Shenfen); frame2 = index.getFrame (); Frame.getContentPane (). Добавить (кнопка); Кнопка кнопки_1 = новая кнопка ("/u53d6/u6d88"); Button_1.SetBounds (219, 194, 76, 23); Frame.getContentPane (). Add (Button_1); }}2. Логика проверки входа в систему
Пакет edu.gzu.stumanager.dao; импортировать edu.gzu.stumanager.domain.studentinfo; открытый класс userloginvalid {public String isvalid (studentInfo stu) {int idnum = stu.getIdnum (); int password = stu.getPassword (); String idntify = stu.getIdentify (); String result = null; if ("Студент" .equals (idntify)) {if (idnum == 120701020209 && password == 123) {stu.setname ("liu mingsheng"); result = "Вход успешно!"; } else {result = "Этот пользователь не существует в учетной записи студента. Пожалуйста, подтвердите свою личность и войдите снова!"; }} else if ("Учитель" .equals (idntify)) {if (idnum == 1174386356 && password == 123) {stu.setname ("Учитель liu mingsheng"); result = "Вход успешно!"; } else {result = "Этот пользователь не существует в учетной записи учителя. Пожалуйста, подтвердите свою личность и войдите снова!"; }} else if ("Системный администратор" .equals (idntify)) {if (idnum == 999999 && password == 123) {stu.setname ("Системный администратор"); result = "Вход успешно!"; } else {result = "Этот пользователь не существует в учетной записи системного администратора. Пожалуйста, подтвердите свою личность и войдите снова!"; }} return result; }}3. Пользовательский объект (это простой фасоль)
Пакет edu.gzu.stumanager.domain; открытый класс StudentInfo {private int idnum; Приватное название строки; Private Int Password; частная строка идентификация; public StudentInfo (int idnum, int password, string идентификация) {super (); this.idnum = idnum; this.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 () {return пароль; } 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; импортировать 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; Частная информация о студенте; /*** Создать кадр. * @WBP.Parser.EntryPoint */ public StudentMainView (studentInfo info) {this.info = info; } public jFrame getFrame () {initiaze (); вернуть кадр; } /*** Инициализируйте содержимое кадра. * @wbp.parser.EntryPoint */ public void инициализация () {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 1550, 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 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 (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); Кнопка кнопки = новая кнопка ("/u7b2c/u4e00/u95e8/u8bfe/u7a0b"); Button.SetBounds (10, 31, 76, 23); panel_1.add (кнопка); Кнопка кнопки_1 = новая кнопка ("/u4e00/u95e8/u8bfe/u7a0b"); Button_1.SetBounds (10, 61, 76, 23); panel_1.add (button_1); Кнопка кнопки_2 = новая кнопка ("/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); Кнопка кнопки_3 = новая кнопка ("/U6700/U540E/U4E00/U95E8/U8BFE"); Button_3.SetBounds (10, 117, 76, 23); panel_1.add (button_3); Выбор выбора = новый выбор (); Choice.SetBounds (10, 149, 76, 21); выберите.add («Выберите курс»); выберите.add ("Advanced Mathematics"); выберите.add («Университетский английский»); выберите.add («марксизм-ленинизм»); выберите.add ("Mao Zedong мысль"); выберите.add ("Компьютерная графика"); Выберите.additemListener (new itemListener () {@Override public void itemStateChanged (itemEvent e) {object [] objs = e.getItemselectable (). getSelectedObjects (); для (Object ob: objs) {// joptionpane.showmessagegegog (obh.tostring (); Математика ".equals (ob.toString ())) {textfield_2.settext (" Advanced Mathematics "); Textfield_3.Settext (" 98 ");} else if (" College English ".Equals (Ob.ToString ())) {TextField_2.Settext (" колледж английский "); if («Марксизм-ленинизм». Equals (ob.ToString ())) {TextField_2.Settext ("Марксизм-ленинизм"); TextField_3.Settext ("73"); panel_1.add (выбор); }}Это позволит легко проверить вход в систему. Я планировал прочитать данные из базы данных, но из -за ограничений по времени я просто и напрямую проверю их здесь. Если у меня будет время, я сделаю другие части.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.