public class DialogDemo implements ActionListener { private JButton logOn, register, help, exit; private JLabel label; private JPanel p; private JDialog d1, d2; private JTextField t; private JPasswordField ps; public DialogDemo() { JFrame frame = new JFrame("註冊窗口"); logOn = new JButton("登陸"); register = new JButton("註冊"); help = new JButton("幫助"); exit = new JButton("退出"); logOn.addActionListener(this); exit.addActionListener(this); p = new JPanel(); p.setLayout(new GridLayout(1, 4)); p.add(logOn); p.add(register); p.add(help); p.add(exit); frame.add(p, "North"); label = new JLabel("您尚未登陸"); d1 = this.creatLoginDialog(frame); d2 = this.creatQuitDialog(frame); frame.add(label, "Center"); frame.setBounds(300, 300, 400, 150); frame.setVisible(true); } public JDialog creatLoginDialog(JFrame f) { JDialog d = new JDialog(f, "登陸對話框", true); JLabel l = new JLabel("請輸入註冊信息"); JPanel pa = new JPanel(); pa.setLayout(new GridLayout(2, 1)); pa.add(new JLabel("用戶名:")); pa.add(new JLabel("密碼:")); JPanel pc = new JPanel(); pc.setLayout(new GridLayout(2, 1)); t = new JTextField(); ps = new JPasswordField(); ps.setEchoChar('*'); pc.add(t); pc.add(ps); JPanel pb = new JPanel(); pb.setLayout(new GridLayout(1, 2)); JButton b1 = new JButton("提交"); JButton b2 = new JButton("取消"); b1.setActionCommand("submitLogin"); b2.setActionCommand("cancelLogin"); b1.addActionListener(this); b2.addActionListener(this); pb.add(b1); pb.add(b2); d.add(l, "North"); d.add(pa, "West"); d.add(pc, "Center"); d.add(pb, "South"); d.setSize(180, 120); d.setLocation(400, 200); return d; } public JDialog creatQuitDialog(JFrame f) { JDialog d = new JDialog(f, "退出對話框", true); JLabel l = new JLabel("你確定要退出程序嗎?"); JPanel p = new JPanel(); JButton confirm = new JButton("確定"); JButton cancel = new JButton("取消"); confirm.setActionCommand("confirmQuit"); cancel.setActionCommand("cancelQuit"); confirm.addActionListener(this); cancel.addActionListener(this); p.add(confirm); p.add(cancel); d.setSize(160, 120); d.setLocation(400, 200); d.add(l, "Center"); d.add(p, "South"); return d; } public void actionPerformed(ActionEvent e) { String s = e.getActionCommand(); if (s.equals("登陸")) { d1.setVisible(true); } else if (s.equals("退出")) { this.quit(); } else if (s.equals("confirmQuit")) { System.exit(0); } else if (s.equals("cancelQuit")) { d2.setVisible(false); } else if (s.equals("submitLogin")) { String name = t.getText(); @SuppressWarnings("deprecation") String password = ps.getText(); if (name.equals("Corejava") && password.equals("Tiger")) { label.setText("歡迎您:" + name + "用戶"); } else { label.setText("驗證失敗,錯誤的用戶名/密碼!"); d2.setVisible(false); } } else if (s.equals("cancelLogin")) { d1.setVisible(false); } } public void quit() { d2.setVisible(true); } public static void main(String[] args) { new DialogDemo(); } }
Java GUI之JDialog
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.