我做的是登录界面。用了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 }