- 用戶註冊UI
代碼實現:
package com.zjipc.kaoshi.ui;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
public class RegistFrame extends JFrame {
public static void main(String[] args) {
RegistFrame window = new RegistFrame();
window.setVisible(true);
}
private JLabel exist;
private JTextField nameField;
private JPasswordField pwdField;
private JTextField phoneField;
private JTextField emialField;
private JTextField idField;
public RegistFrame() {
init();
}
private void init() {
setTitle("ZJIPC認證軟件開發工程師考試平臺");
setSize(600, 300);
try {
Image image = ImageIO.read(getClass().getResource("../images/inco.jpg"));
setIconImage(image);
} catch (IOException e) {
e.printStackTrace();
}
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
add(createContentPanel());
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
if (JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog(RegistFrame.this, "確定要退出嗎?", "離開系統",
JOptionPane.YES_NO_OPTION)) {
System.exit(0);
}
}
});
setResizable(false);
}
private Component createContentPanel() {
JPanel panel = new JPanel(new BorderLayout());
ImageIcon icon = new ImageIcon(RegistFrame.class.getResource("../images/exam_title.png"));
panel.add(BorderLayout.NORTH, new JLabel(icon));
panel.add(BorderLayout.CENTER, createCenterPanel());
panel.add(BorderLayout.SOUTH, createBottomPanel());
return panel;
}
private Component createCenterPanel() {
JPanel panel = new JPanel(new BorderLayout());
panel.setBorder(new EmptyBorder(8, 8, 8, 8));
ImageIcon icon = new ImageIcon(RegistFrame.class.getResource("../images/left.png"));
panel.add(BorderLayout.WEST, new JLabel(icon));
panel.add(BorderLayout.CENTER, createRegistPanel());
exist = new JLabel("", JLabel.CENTER);
panel.add(BorderLayout.SOUTH, exist);
return panel;
}
private Component createRegistPanel() {
JPanel panel = new JPanel(new GridLayout(5, 1, 0, 6));
panel.setBorder(new EmptyBorder(8, 8, 8, 8));
panel.add(createIdPanel());
panel.add(createNamePanel());
panel.add(createPwdPanel());
panel.add(createPhonePanel());
panel.add(createEmailPanel());
return panel;
}
private Component createIdPanel() {
JPanel panel = new JPanel(new BorderLayout());
panel.add(BorderLayout.WEST, new JLabel("考 號:"));
idField = new JTextField(10);
panel.add(BorderLayout.CENTER, idField);
return panel;
}
private Component createNamePanel() {
JPanel panel = new JPanel(new BorderLayout());
panel.add(BorderLayout.WEST, new JLabel("姓 名:"));
nameField = new JTextField(10);
panel.add(BorderLayout.CENTER, nameField);
return panel;
}
private Component createPwdPanel() {
JPanel panel = new JPanel(new BorderLayout());
panel.add(BorderLayout.WEST, new JLabel("密 碼:"));
pwdField = new JPasswordField();
pwdField.enableInputMethods(true);
panel.add(BorderLayout.CENTER, pwdField);
return panel;
}
private Component createPhonePanel() {
JPanel panel = new JPanel(new BorderLayout());
panel.add(BorderLayout.WEST, new JLabel("電 話:"));
phoneField = new JTextField(10);
panel.add(BorderLayout.CENTER, phoneField);
return panel;
}
private Component createEmailPanel() {
JPanel panel = new JPanel(new BorderLayout());
panel.add(BorderLayout.WEST, new JLabel("郵 箱:"));
emialField = new JTextField(10);
panel.add(BorderLayout.CENTER, emialField);
return panel;
}
private Component createBottomPanel() {
JPanel panel = new JPanel(new FlowLayout());
JButton submit = new JButton("註冊");
JButton cancel = new JButton("取消");
panel.add(submit);
panel.add(cancel);
return panel;
}
}