你的位置:首页 > Java教程

[Java教程]JAVA第二次作业


  我做的是登录界面。用了JButton(按钮),JComboBox(组合框),JOptionPane(提示面板),JPasswordField(密码框),JTextField(文本框),用监听器实现了事件相应。当输入帐号和密码都是123时候,提示登录成功,否则登录失败!

  还添加了java中的颜色和字体类。字体为“CENTER_BASELINE”,颜色为黑色。而且在确定和取消按钮上加入了快捷键。

但是ImageIcon(图片)没有实现。

下面是源代码:

 1 package wole; 2  3 import java.awt.Color; 4 import java.awt.Font; 5 import java.awt.event.ActionEvent; 6 import java.awt.event.ActionListener; 7 import java.awt.event.KeyEvent; 8 import javax.swing.ImageIcon; 9 import javax.swing.JButton; 10 import javax.swing.JComboBox; 11 import javax.swing.JFrame; 12 import javax.swing.JLabel; 13 import javax.swing.JOptionPane; 14 import javax.swing.JPanel; 15 import javax.swing.JPasswordField; 16 import javax.swing.JTextField; 17  18 public class showLoginFrame extends JFrame implements ActionListener { 19  20   private static final long serialVersionUID = 1L; 21    22   JPanel p; 23   JButton a; 24   JButton b; 25   JLabel u; 26   JLabel m; 27   JLabel se; 28   JLabel t; 29   JLabel shfen; 30   JComboBox kuang3; 31   ImageIcon tu; 32   JTextField kuang1; 33   JPasswordField kuang2; 34   String role[] = { "管 理 员", "其 他" }; 35  36   public showLoginFrame() { 37      38     se = new JLabel("网 站 内 容 管 理 系 统"); 39     se.setBounds(115, 20, 420, 50); 40     se.setFont(new Font("楷体", Font.CENTER_BASELINE, 20)); 41     se.setForeground(Color.black); 42      43     u = new JLabel("用户名:"); 44     u.setFont(new Font("楷体", Font.CENTER_BASELINE, 15)); 45     u.setForeground(Color.black); 46      47     m = new JLabel("密码:"); 48     m.setFont(new Font("楷体", Font.CENTER_BASELINE, 15)); 49     m.setForeground(Color.black); 50      51     shfen = new JLabel("身份:"); 52     shfen.setFont(new Font("楷体", Font.CENTER_BASELINE, 15));//设置字体 53     shfen.setForeground(Color.black); 54     shfen.setBounds(130, 200, 100, 50); 55      56     kuang3 = new JComboBox(role); 57     kuang3.setForeground(Color.black); 58     kuang3.setBounds(210, 210, 100, 25); 59      60     kuang1 = new JTextField(); 61     kuang1.setBounds(210, 100, 180, 25); 62     kuang1.setForeground(Color.black); 63      64     kuang2 = new JPasswordField(); 65     kuang2.setBounds(210, 160, 180, 25); 66     kuang2.setEchoChar('*');//设置密码框出现的符号 67     kuang2.setForeground(Color.black); 68      69     a = new JButton("确定(ALT+Y)"); 70     a.setMnemonic(KeyEvent.VK_Y);//给确定按钮增加快捷键,ALT+G 71     a.setForeground(Color.black);//所设置字体颜色为蓝色 72     a.addActionListener(this);//对这个按钮进行监听 73      74     b = new JButton("取消(ALT+N)"); 75     b.setMnemonic(KeyEvent.VK_N); 76     b.setForeground(Color.black); 77     b.addActionListener(this); 78      79     p = new JPanel(); 80     tu = new ImageIcon("/img/22.jpg");//这是图片 81     t = new JLabel(tu);//将图片添加到JLabel当中 82     p.add(t);//将添加到JPanel当中 83      84     p.setBounds(0, 0, 560, 400);//图片560*400(宽*高) 85     b.setBounds(320, 270, 120, 35); 86     a.setBounds(120, 270, 120, 35); 87     u.setBounds(130, 90, 100, 50); 88     m.setBounds(130, 150, 100, 50); 89      90     add(se); 91     add(u); 92     add(m); 93     add(shfen); 94     add(kuang3); 95     add(kuang1); 96     add(kuang2); 97     add(a); 98     add(b); 99     add(p);100     101     setTitle("欢 迎 登 陆 网 站 内 容 管 理 系 统");102     setSize(560,400);103     setResizable(false);//不能改变界面大小104     setLayout(null);//设置界面的布局管理器为空105     setVisible(true);106     setLocationRelativeTo(null);//让窗口位于屏幕中央107 108   }109 110   public static void main(String[] args) {111 112     new showLoginFrame();113 114   }115 116   public void actionPerformed(ActionEvent e) {117     if (e.getSource() == a)118       119     {120       if (kuang1.getText().trim().equals("")) {121         122         JOptionPane.showMessageDialog(null,"请输入用户名!", "用户名空提示",JOptionPane.OK_OPTION);123         124       }125       126       else {127         128         if (new String(kuang2.getPassword()).equals("")) {129           130           JOptionPane.showMessageDialog(null,"请输入密码!", "密码空提示",JOptionPane.OK_OPTION);131           132          } 133         134         else {135           136            if (kuang1.getText().trim().equals("123")&& (new String(kuang2.getPassword()).equals("123"))) {137             138             this.dispose();//使当前界面退出139             140             JOptionPane.showMessageDialog(null,"恭喜你,登陆成功!");141           }142            143           else 144             145             JOptionPane.showMessageDialog(null,"您输入的用户名或密码错误!");146           147             kuang2.setText(null);//设置密码框为空148           149         }150       }151     }152     if (e.getSource() == b)153       154       System.exit(0);//关闭当前界面155 156   }157 158 }