📄 userinfoframe.java
字号:
package edu.hqu.JYT.addressBook.ui;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.events.ShellAdapter;
import org.eclipse.swt.events.ShellEvent;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import edu.hqu.JYT.addressBook.util.DataTable;
public class UserInfoFrame implements SelectionListener {
private final Shell shell;
private final Font font;
private Text nameText, phoneNumberText, telephoneNumberText,
officePhoneNumberText, emailAddressText, QQNumberText, addressText,
postNumberText, sexText, monthText, dateText;
private Label nameLabel, sexLabel, birthdayLabel, monthLabel, dateLabel,
phoneNumberLabel, telephoneNumberLabel, officePhoneNumberLabel,
emailAddressLabel, QQNumberLabel, addressLabel, postNumberLabel;
private Button ok, search;
private final DataTable table;
public UserInfoFrame(Shell parent) throws SQLException, IOException {
shell = new Shell(parent, SWT.APPLICATION_MODAL | SWT.CLOSE);
shell.setText("信息");
shell.setLayout(new FormLayout());
shell.setSize(380, 500);
shell.addShellListener(new ShellAdapter() {
@Override
public void shellClosed(ShellEvent evnt) {
evnt.doit = false;
shell.setVisible(false);
}
});
font = new Font(shell.getDisplay(), "", 16, SWT.NONE);
table = new DataTable("user", "1234567");
buildFrame();
}
public void open() {
shell.open();
}
/**
* 创建界面
*/
private void buildFrame() {
nameLabel = new Label(shell, SWT.NONE); // 姓名
nameLabel.setFont(font);
nameLabel.setText("姓名:");
FormData data = new FormData();
data.top = new FormAttachment(0, 14);
data.left = new FormAttachment(0, 10);
nameLabel.setLayoutData(data);
nameText = new Text(shell, SWT.BORDER);
nameText.setFont(font);
data = new FormData();
data.top = new FormAttachment(0, 10);
data.left = new FormAttachment(nameLabel, 10);
data.right = new FormAttachment(100, -10);
nameText.setLayoutData(data);
sexLabel = new Label(shell, SWT.NONE);// 性别
sexLabel.setFont(font);
sexLabel.setText("性别:");
data = new FormData();
data.top = new FormAttachment(nameLabel, 12);
data.left = new FormAttachment(0, 10);
sexLabel.setLayoutData(data);
sexText = new Text(shell, SWT.BORDER);
data = new FormData();
data.top = new FormAttachment(nameText, 10);
data.left = new FormAttachment(sexLabel, 10);
data.width = 40;
sexText.setLayoutData(data);
birthdayLabel = new Label(shell, SWT.NONE);
birthdayLabel.setFont(font);
birthdayLabel.setText("生日:");
data = new FormData();
data.left = new FormAttachment(0, 10);
data.top = new FormAttachment(sexLabel, 10);
birthdayLabel.setLayoutData(data);
monthText = new Text(shell, SWT.BORDER);
data = new FormData();
data.top = new FormAttachment(sexText, 10);
data.left = new FormAttachment(birthdayLabel, 10);
data.width = 40;
monthText.setLayoutData(data);
monthLabel = new Label(shell, SWT.NONE);
monthLabel.setFont(font);
monthLabel.setText("月");
data = new FormData();
data.top = new FormAttachment(sexText, 10);
data.left = new FormAttachment(monthText, 10);
monthLabel.setLayoutData(data);
dateText = new Text(shell, SWT.BORDER);
data = new FormData();
data.top = new FormAttachment(sexText, 10);
data.left = new FormAttachment(monthLabel, 5);
data.width = 40;
dateText.setLayoutData(data);
dateLabel = new Label(shell, SWT.NONE);
dateLabel.setFont(font);
dateLabel.setText("日");
data = new FormData();
data.top = new FormAttachment(sexText, 10);
data.left = new FormAttachment(dateText, 5);
dateLabel.setLayoutData(data);
phoneNumberLabel = new Label(shell, SWT.NONE);
phoneNumberLabel.setFont(font);
phoneNumberLabel.setText("座机号码:");
data = new FormData();
data.top = new FormAttachment(birthdayLabel, 10);
data.left = new FormAttachment(0, 10);
phoneNumberLabel.setLayoutData(data);
phoneNumberText = new Text(shell, SWT.BORDER);
phoneNumberText.setFont(font);
data = new FormData();
data.top = new FormAttachment(monthText, 10);
data.left = new FormAttachment(phoneNumberLabel, 10);
data.right = new FormAttachment(100, -10);
phoneNumberText.setLayoutData(data);
telephoneNumberLabel = new Label(shell, SWT.NONE);
telephoneNumberLabel.setFont(font);
telephoneNumberLabel.setText("手机号码:");
data = new FormData();
data.top = new FormAttachment(phoneNumberLabel, 15);
data.left = new FormAttachment(0, 10);
telephoneNumberLabel.setLayoutData(data);
telephoneNumberText = new Text(shell, SWT.BORDER);
telephoneNumberText.setFont(font);
data = new FormData();
data.top = new FormAttachment(phoneNumberText, 10);
data.left = new FormAttachment(telephoneNumberLabel, 10);
data.right = new FormAttachment(100, -10);
telephoneNumberText.setLayoutData(data);
officePhoneNumberLabel = new Label(shell, SWT.NONE);
officePhoneNumberLabel.setFont(font);
officePhoneNumberLabel.setText("办公室号码:");
data = new FormData();
data.top = new FormAttachment(telephoneNumberLabel, 17);
data.left = new FormAttachment(0, 10);
officePhoneNumberLabel.setLayoutData(data);
officePhoneNumberText = new Text(shell, SWT.BORDER);
officePhoneNumberText.setFont(font);
data = new FormData();
data.top = new FormAttachment(telephoneNumberText, 10);
data.left = new FormAttachment(officePhoneNumberLabel, 10);
data.right = new FormAttachment(100, -10);
officePhoneNumberText.setLayoutData(data);
emailAddressLabel = new Label(shell, SWT.NONE);
emailAddressLabel.setFont(font);
emailAddressLabel.setText("E-MAIL:");
data = new FormData();
data.top = new FormAttachment(officePhoneNumberLabel, 14);
data.left = new FormAttachment(0, 10);
emailAddressLabel.setLayoutData(data);
emailAddressText = new Text(shell, SWT.BORDER);
emailAddressText.setFont(font);
data = new FormData();
data.top = new FormAttachment(officePhoneNumberText, 10);
data.left = new FormAttachment(emailAddressLabel, 10);
data.right = new FormAttachment(100, -10);
emailAddressText.setLayoutData(data);
QQNumberLabel = new Label(shell, SWT.NONE);
QQNumberLabel.setFont(font);
QQNumberLabel.setText("QQ号码:");
data = new FormData();
data.top = new FormAttachment(emailAddressLabel, 18);
data.left = new FormAttachment(0, 10);
QQNumberLabel.setLayoutData(data);
QQNumberText = new Text(shell, SWT.BORDER);
QQNumberText.setFont(font);
data = new FormData();
data.top = new FormAttachment(emailAddressText, 10);
data.left = new FormAttachment(QQNumberLabel, 10);
data.right = new FormAttachment(100, -10);
QQNumberText.setLayoutData(data);
addressLabel = new Label(shell, SWT.NONE);
addressLabel.setFont(font);
addressLabel.setText("地址:");
data = new FormData();
data.top = new FormAttachment(QQNumberLabel, 14);
data.left = new FormAttachment(0, 10);
addressLabel.setLayoutData(data);
addressText = new Text(shell, SWT.BORDER);
addressText.setFont(font);
data = new FormData();
data.top = new FormAttachment(QQNumberText, 10);
data.left = new FormAttachment(addressLabel, 10);
data.right = new FormAttachment(100, -10);
addressText.setLayoutData(data);
postNumberLabel = new Label(shell, SWT.NONE);
postNumberLabel.setFont(font);
postNumberLabel.setText("邮编:");
data = new FormData();
data.top = new FormAttachment(addressLabel, 16);
data.left = new FormAttachment(0, 10);
postNumberLabel.setLayoutData(data);
postNumberText = new Text(shell, SWT.BORDER);
postNumberText.setFont(font);
data = new FormData();
data.top = new FormAttachment(addressText, 10);
data.left = new FormAttachment(postNumberLabel, 10);
data.right = new FormAttachment(100, -10);
postNumberText.setLayoutData(data);
search = new Button(shell, SWT.PUSH);
search.setFont(font);
search.setText("查找");
data = new FormData();
data.top = new FormAttachment(postNumberLabel, 40);
data.left = new FormAttachment(30);
search.setLayoutData(data);
search.addSelectionListener(this);
ok = new Button(shell, SWT.PUSH);
ok.setFont(font);
ok.setText("确定");
data = new FormData();
data.top = new FormAttachment(postNumberLabel, 40);
data.left = new FormAttachment(60);
ok.setLayoutData(data);
ok.addSelectionListener(this);
}
public void getInfo(String name) throws SQLException {
ResultSet rs = table.searchByName(name);
while (rs.next()) {
nameText.setText(rs.getString(1));
if (rs.getBoolean(2) == true) {
sexText.setText("女");
} else {
sexText.setText("男");
}
monthText.setText(rs.getString(3));
dateText.setText(rs.getString(4));
phoneNumberText.setText(rs.getString(5));
officePhoneNumberText.setText(rs.getString(6));
telephoneNumberText.setText(rs.getString(7));
emailAddressText.setText(rs.getString(8));
QQNumberText.setText(rs.getString(9));
addressText.setText(rs.getString(10));
postNumberText.setText(rs.getString(11));
}
rs.close();
}
public void widgetSelected(SelectionEvent evnt) {
Object obj = evnt.getSource();
if (obj.equals(ok)) {
shell.close();
} else if (obj.equals(search)) {
if (nameText.getText().equals("")) {
MessageBox box = new MessageBox(shell, SWT.ICON_ERROR);
box.setText("出错信息 ");
box.setMessage("请先输入姓名.");
box.open();
}
try {
getInfo(nameText.getText());
} catch (SQLException exp) {
MessageBox box = new MessageBox(shell);
box.setText("出错信息");
box.setMessage("读取信息出错.");
box.open();
}
}
}
public void widgetDefaultSelected(SelectionEvent evnt) {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -