⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userinfoframe.java

📁 java 开发的电子通讯录
💻 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 + -