📄 cardview.java
字号:
package smoker.tools;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CardView extends JFrame {
private static final long serialVersionUID = 1L;
private JTextField tfLoginID;
private JTextField tfNickName;
private JTextField tfName;
private JTextField tfBirthday;
private JTextField tfSex;
private JTextField tfEmail;
private JTextField tfDpt;
private JTextField tfAddress;
private JTextField tfPhone;
private JLabel labPhoto;
private JTextArea taMyMemo;
private JButton btnClose;
private Container container;
private GridBagLayout gbl = new GridBagLayout();
private GridBagConstraints gbc = new GridBagConstraints();
private User user;
public CardView(User user) {
this.user = user;
this.setSize(470, 440);
this.setTitle("查看资料");
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setResizable(false);
GUIManager.CenterWindow(this);
this.init();
this.setVisible(true);
}
private void init() {
container = this.getContentPane();
container.setLayout(new BorderLayout());
tfLoginID = new JTextField(10);
tfLoginID.setEditable(false);
tfLoginID.setText(String.valueOf(user.getLoginID()));
tfNickName = new JTextField(10);
tfNickName.setEditable(false);
tfNickName.setText(user.getNickName());
tfName = new JTextField(10);
tfName.setEditable(false);
tfName.setText(user.getName());
tfBirthday = new JTextField(10);
tfBirthday.setEditable(false);
tfBirthday.setText(user.getBirthday());
tfSex = new JTextField();
tfSex.setEditable(false);
tfSex.setText(user.getSex());
tfEmail = new JTextField(10);
tfEmail.setEditable(false);
tfEmail.setText(user.getEmail());
tfAddress = new JTextField(35);
tfAddress.setEditable(false);
tfAddress.setText(user.getAddress());
tfPhone = new JTextField(10);
tfPhone.setEditable(false);
tfPhone.setText(user.getTelphone());
labPhoto = new JLabel();
labPhoto.setIcon(user.getIcon());
taMyMemo = new JTextArea(5, 1);
taMyMemo.setEditable(false);
taMyMemo.setLineWrap(true);
taMyMemo.setText(user.getMemo());
btnClose = new JButton("关闭");
container.add(getRootPanel());
btnClose.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();
}
});
}
private JPanel getRootPanel() {
JPanel rootPanel = new JPanel();
rootPanel.setLayout(new BoxLayout(rootPanel, BoxLayout.Y_AXIS));
rootPanel.setBorder(BorderFactory.createTitledBorder(user.getNickName() + " 的资料"));
rootPanel.add(getBasicPanel());
rootPanel.add(getParticularPanel());
rootPanel.add(getMemoPanel());
rootPanel.add(getBtnPanel());
return rootPanel;
}
private JPanel getBasicPanel() {
JPanel basicPanel = new JPanel();
basicPanel.setLayout(gbl);
basicPanel.setBorder(BorderFactory.createTitledBorder("基本信息"));
JLabel labLoginID = GUIManager.createJLabel("登录名:");
JLabel labHeadPortrait = GUIManager.createJLabel("头像: ");
gbc.anchor = GridBagConstraints.EAST;
GUIManager.setConstraints(gbl, gbc, 0, 0, 1, 1, 1, 1);
basicPanel.add(labHeadPortrait, gbc);
gbc.anchor = GridBagConstraints.WEST;
GUIManager.setConstraints(gbl, gbc, 1, 0, 1, 1, 1, 1);
basicPanel.add(labPhoto, gbc);
gbc.anchor = GridBagConstraints.EAST;
GUIManager.setConstraints(gbl, gbc, 2, 0, 1, 1, 1, 1);
basicPanel.add(labLoginID, gbc);
gbc.anchor = GridBagConstraints.WEST;
GUIManager.setConstraints(gbl, gbc, 3, 0, 1, 1, 1, 1);
basicPanel.add(tfLoginID, gbc);
return basicPanel;
}
private JPanel getParticularPanel() {
JPanel particularPanel = new JPanel();
particularPanel.setLayout(gbl);
particularPanel.setBorder(BorderFactory.createTitledBorder("详细信息"));
JLabel labNickName = GUIManager.createJLabel("昵称:");
JLabel labName = GUIManager.createJLabel("真实姓名:");
JLabel labBirthday = GUIManager.createJLabel("生日:");
JLabel labEmail = GUIManager.createJLabel("Email:");
JLabel labPhone = GUIManager.createJLabel("联系电话:");
JLabel labSex = GUIManager.createJLabel("性别:");
JLabel labAddress = GUIManager.createJLabel("住址:");
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.anchor = GridBagConstraints.EAST;
GUIManager.setConstraints(gbl, gbc, 0, 2, 1, 1, 1, 1);
particularPanel.add(labNickName, gbc);
GUIManager.setConstraints(gbl, gbc, 1, 2, 1, 1, 1, 1);
particularPanel.add(tfNickName, gbc);
gbc.anchor = GridBagConstraints.EAST;
GUIManager.setConstraints(gbl, gbc, 2, 2, 1, 1, 1, 1);
particularPanel.add(labName, gbc);
gbc.anchor = GridBagConstraints.WEST;
GUIManager.setConstraints(gbl, gbc, 3, 2, 1, 1, 1, 1);
particularPanel.add(tfName, gbc);
gbc.anchor = GridBagConstraints.EAST;
GUIManager.setConstraints(gbl, gbc, 0, 3, 1, 1, 1, 1);
particularPanel.add(labSex, gbc);
gbc.anchor = GridBagConstraints.WEST;
GUIManager.setConstraints(gbl, gbc, 1, 3, 1, 1, 1, 1);
particularPanel.add(tfSex, gbc);
gbc.anchor = GridBagConstraints.EAST;
GUIManager.setConstraints(gbl, gbc, 2, 3, 1, 1, 1, 1);
particularPanel.add(labBirthday, gbc);
gbc.anchor = GridBagConstraints.WEST;
GUIManager.setConstraints(gbl, gbc, 3, 3, 1, 1, 1, 1);
particularPanel.add(tfBirthday, gbc);
gbc.anchor = GridBagConstraints.EAST;
GUIManager.setConstraints(gbl, gbc, 0, 4, 1, 1, 1, 1);
particularPanel.add(labEmail, gbc);
gbc.anchor = GridBagConstraints.WEST;
GUIManager.setConstraints(gbl, gbc, 1, 4, 1, 1, 1, 1);
particularPanel.add(tfEmail, gbc);
gbc.anchor = GridBagConstraints.EAST;
GUIManager.setConstraints(gbl, gbc, 2, 4, 1, 1, 1, 1);
particularPanel.add(labPhone, gbc);
gbc.anchor = GridBagConstraints.WEST;
GUIManager.setConstraints(gbl, gbc, 3, 4, 1, 1, 1, 1);
particularPanel.add(tfPhone, gbc);
JLabel labDpt = new JLabel("所属部门:");
tfDpt = new JTextField();
tfDpt.setEditable(false);
tfDpt.setText(user.getDepartmentName());
GUIManager.setConstraints(gbl, gbc, 0, 5, 1, 1, 1, 1);
particularPanel.add(labDpt, gbc);
gbc.anchor = GridBagConstraints.WEST;
GUIManager.setConstraints(gbl, gbc, 1, 5, 3, 1, 1, 1);
particularPanel.add(tfDpt, gbc);
gbc.anchor = GridBagConstraints.EAST;
GUIManager.setConstraints(gbl, gbc, 0, 6, 1, 1, 1, 1);
particularPanel.add(labAddress, gbc);
gbc.anchor = GridBagConstraints.WEST;
GUIManager.setConstraints(gbl, gbc, 1, 6, 3, 1, 1, 1);
particularPanel.add(tfAddress, gbc);
return particularPanel;
}
private JPanel getMemoPanel() {
JPanel memoPanel = new JPanel();
memoPanel.setLayout(new BorderLayout());
memoPanel.setBorder(BorderFactory.createTitledBorder("个人说明"));
memoPanel.add(new JScrollPane(taMyMemo), BorderLayout.CENTER);
return memoPanel;
}
private JPanel getBtnPanel() {
JPanel btnPanel = new JPanel();
btnPanel.setLayout(new BoxLayout(btnPanel, BoxLayout.X_AXIS));
btnPanel.add(btnClose);
return btnPanel;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -