Eu estudo Java há mais de um ano e pratico a web. Descobri que precisava usar o conhecimento relacionado à GUI em um projeto, mas não consegui. Não havia muitos artigos sobre isso on -line, então tive que morder a bala e aprender do zero. No entanto, depois de aprender, descobri que a GUI é realmente muito interessante. Ele não depende da Internet como os programas da Web e existem muitos layouts que não são muito diferentes do Android. Então eu descobri que me apaixonei pelo desenvolvimento da GUI novamente. Não vou dizer muito, basta adicionar o código. Eu acredito que aqueles que desenvolveram Android ou interfaces relacionadas entendem a verdade.
Vamos ver o efeito primeiro
1. Faça login na interface principal
pacote edu.gzu.stumanager; importar java.awt.eventqueue; importar javax.swing.jframe; importar javax.swing.jlabel; importar javax.swing.JOptionPane; importar java.awt.toolkit; importar javax.swing.jtextfield; importar edu.gzu.stumanager.dao.userLoginValId; importar edu.gzu.stumanager.Domain.studentinfo; importar edu.gzu.stumanager.view.studentmainview; importar java.awt.choice; importar java.awt.font; importar java.awt.button; importar java.awt.event.mouseAdapter; importar java.awt.event.mouseevent; classe pública MAINUI {Private JFrame Frame; Private JTextfield Textfield; Private jtextfield textfield_1; /*** Inicie o aplicativo. */ public static void main (string [] args) {eventQueue.invokelater (new runnable () {public void run () {try {magneui window = new Maineui (); window.frame.setVisible (true);} catch (Exception e) {E.PrintStackTrace ();};}; } /*** Crie o aplicativo. */ public MAINUI () {Initialize (); } /*** Inicialize o conteúdo do quadro. */ private void inicialize () {frame = new jframe (); quadro.setTitle ("/u6210/u7ee9/u7ba1/u7406/u7cfb/u7edf/uff08/u767b/u5f55/uff09"); frame.SeticOnImage (Toolkit.getDefaultToolkit (). getImage (majori.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 (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); Rótulo jlabel = 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); Escolha final da escolha = new Choice (); Choice.setbounds (210, 147, 74, 21); escolha.add ("aluno"); Choice.add ("Professor"); Choice.add ("Systener"); frame.getContentPane (). Add (escolha); Botão botão = novo botão ("/u767b/u5f55"); Button.setBounds (87, 194, 76, 23); button.addmouselistener (new mouseAdapter () {@Override public void mouseclicked (mouseevent e) {string user = textfield.getText (); string senha = textfield_1.getText (); string shenfen = escolha.getSelectedEnitem (); if (user.equals ("); JoptionPane.SoSSODialog (Frame, Shenfen+": Hello, a conta não pode estar vazia!"); StudentInfo (Inteiro.Parseint (Usuário), Integer.Parseint (Senha), Shenfen); StudentMainView (STU); frame.getContentPane (). Add (Button); Botão botão_1 = novo botão ("/u53d6/u6d88"); Button_1.setBounds (219, 194, 76, 23); frame.getContentPane (). Add (Button_1); }}2. Lógica de verificação de login
pacote edu.gzu.stumanager.dao; importar edu.gzu.stumanager.Domain.studentinfo; classe pública userLogInValid {public String isValid (studentInfo stu) {int idnum = stu.getidnum (); int senha = stu.getpassword (); String idntify = stu.getIdentify (); Resultado da string = null; if ("aluno" .equals (idntify)) {if (idnum == 1207010209 && senha == 123) {stu.setName ("liu Mingsheng"); resultado = "login com sucesso!"; } else {resultado = "Este usuário não existe na conta do aluno. Confirme sua identidade e faça login novamente!"; }} else if ("professor" .equals (idntify)) {if (idnum == 1174386356 && senha == 123) {stu.setName ("Professor Liu Mingsheng"); resultado = "login com sucesso!"; } else {resultado = "Este usuário não existe na conta do professor. Confirme sua identidade e faça login novamente!"; }} else if ("administrador do sistema" .equals (idntify)) {if (idnum == 999999 && senha == 123) {stu.setName ("administrador do sistema"); resultado = "login com sucesso!"; } else {resultado = "Este usuário não existe na conta do administrador do sistema. Confirme sua identidade e faça login novamente!"; }} Retornar resultado; }}3. Objeto do usuário (este é um feijão simples)
pacote edu.gzu.stumanager.Domain; classe pública StudentInfo {private int idnum; nome de string privado; senha privada int; String privada Identify; public studentInfo (int idnum, int senha, string identificar) {super (); this.idnum = idnum; this.password = senha; this.Identify = Identify; } public int getidnum () {return idnum; } public void SetIdnum (int idnum) {this.idnum = idnum; } public string getName () {return name; } public void setName (nome da string) {this.name = name; } public int getPassword () {return senha; } public void setPassword (int senha) {this.password = senha; } public String getIdentify () {return Identify; } public void SetIdentify (string Identify) {this.Identify = Identify; }}4. A interface principal após o login bem -sucedido
pacote edu.gzu.stumanager.View; importar java.awt.button; importar java.awt.canvas; importar java.awt.choice; importar java.awt.color; importar java.awt.toolkit; importar java.awt.event.itemevent; importar java.awt.event.itemListener; importar javax.swing.jframe; importar javax.swing.jlabel; importar javax.swing.JOptionPane; importar javax.swing.jpanel; importar javax.swing.jtextfield; importar edu.gzu.stumanager.Domain.studentinfo; classe pública StudentMainView {Private JFrame Frame; Private JTextfield Textfield; Private jtextfield textfield_1; private jtextfield textfield_2; Private jtextfield textfield_3; Informações privadas para estudantes; /*** Crie o quadro. * @wbp.parser.entryPoint */ public studentMainView (info studentInfo) {this.info = info; } public jframe getFrame () {Initialize (); quadro de retorno; } /*** Inicialize o conteúdo do quadro. * @wbp.parser.entryPoint */ public void Initialize () {frame = new jframe (); quadro.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 ()+"] para fazer login no sistema de gerenciamento de pontuação do aluno!"); lblnewlabel.setbounds (54, 10, 322, 15); frame.getContentPane (). Add (lblNewlabel); Painel jpanel = new jpanel (); painel.setbounds (29, 52, 250, 180); frame.getContentPane (). Add (painel); painel.setLayout (nulo); Jlabel lblnewlabel_1 = new jlabel ("/u6210/u7ee9/u6570/u636e"); lblnewlabel_1.setbounds (94, 10, 65, 15); painel.add (lblnewlabel_1); Jlabel lblnewlabel_2 = new jlabel ("/u5b66/u53f7/uff1a"); lblnewlabel_2.setbounds (22, 37, 40, 15); painel.add (lblnewlabel_2); textfield = new jtextfield (); textfield.setbounds (72, 35, 154, 21); textfield.settext (info.getIdnum ()+""); painel.add (TextField); textfield.setColumns (10); Jlabel lblnewlabel_3 = new jlabel ("/u59d3/u540d/uff1a"); lblnewlabel_3.setbounds (22, 67, 44, 15); painel.add (lblnewlabel_3); textfield_1 = new jtextfield (); textfield_1.setbounds (72, 66, 154, 21); textfield_1.settext (info.getName ()); painel.add (textfield_1); textfield_1.setColumns (10); Canvas Canvas = new Canvas (); canvas.setBackground (color.blue); Canvas.setbounds (22, 100, 205, 1); painel.add (tela); Jlabel lblnewlabel_4 = new jlabel ("/u8bfe/u7a0b/u540d"); lblnewlabel_4.setbounds (22, 116, 47, 15); painel.add (lblnewlabel_4); Jlabel lblnewlabel_5 = new jlabel ("/u6210/u7ee9"); lblnewlabel_5.setbounds (160, 116, 43, 15); painel.add (lblnewlabel_5); textfield_2 = new jtextfield (); textfield_2.setbounds (22, 140, 123, 21); painel.add (textfield_2); textfield_2.setColumns (10); textfield_3 = new jtextfield (); textfield_3.setbounds (159, 140, 66, 21); painel.add (textfield_3); textfield_3.setColumns (10); JPanel Painel_1 = new JPanel (); pain_1.setbounds (317, 52, 110, 180); frame.getContentPane (). Add (panel_1); painel_1.setLayout (nulo); Jlabel lblnewlabel_6 = new jlabel ("/u64cd/u4f5c/u83dc/u5355"); lblnewlabel_6.setbounds (15, 10, 54, 15); painel_1.add (lblnewlabel_6); Botão botão = novo botão ("/u7b2c/u4e00/u95e8/u8bfe/u7a0b"); Button.setBounds (10, 31, 76, 23); painel_1.add (botão); Botão botão_1 = novo botão ("/u4e00/u95e8/u8bfe/u7a0b"); Button_1.setBounds (10, 61, 76, 23); painel_1.add (button_1); Botão botão_2 = novo botão ("/u4e0a/u4e00/u95e8/u8bfe/u7a0b"); Button_2.SetActionCommand ("/u4e0a/u4e00/u95e8/u8bfe/u7a0b"); Button_2.SetBounds (10, 90, 76, 23); painel_1.add (button_2); Botão botão_3 = novo botão ("/u6700/u540e/u4e00/u95e8/u8bfe"); Button_3.SetBounds (10, 117, 76, 23); painel_1.add (button_3); Escolha de escolha = new escolha (); Choice.setbounds (10, 149, 76, 21); escolha.add ("Selecione Course"); escolha.add ("Matemática Avançada"); escolha.add ("University English"); escolha.add ("marxismo-leninismo"); escolha.add ("Mao Zedong pensou"); escolha.add ("Computer Graphics"); escolha.additemListener (new ItemListener () {@Override public void ItemStateChanged (itemEvent e) {object [] objs = e.getItemSelectable (). Matemática ".equals (ob.ToString ())) {textfield_2.settext (" Matemática Avançada "); TextField_3.Settext (" 98 ");} else (" College English ".Equals (ob.ToString ())) {Text_2.2.Settext (" College English); if ("marxismo-leninismo" .equals (ob.toString ())) {textfield_2.settext ("marxismo-leninismo"); textfield_3.settext ("73"); painel_1.add (escolha); }}Isso permitirá uma fácil verificação de login. Planejei ler dados do banco de dados, mas devido a restrições de tempo, vou verificar e diretamente verificá -los aqui. Se eu tiver tempo, farei outras peças.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.