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

📄 menubar.java

📁 java 开发的电子通讯录
💻 JAVA
字号:
package edu.hqu.JYT.addressBook.ui;

import java.io.IOException;
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.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;

import edu.hqu.JYT.addressBook.util.DataTable;

public class MenuBar implements SelectionListener {
	private final Shell parent;
	private final Menu menuBar;
	private Menu fileMenu, editMenu, helpMenu;
	private MenuItem file, create, drop, exit;
	private MenuItem edit, searchDirect, searchByRelationship;
	private MenuItem help, about;

	private final AddFrame addFrame;
	private final UserInfoFrame userInfoFrame;
	private final DataTable table;

	public MenuBar(Shell parent) throws SQLException, IOException {
		this.parent = parent;

		menuBar = new Menu(parent, SWT.BAR);
		createFileMenu();
		createEditMenu();
		createHelpMenu();
		parent.setMenuBar(menuBar);
		addFrame = new AddFrame(parent);
		userInfoFrame = new UserInfoFrame(parent);
		table = new DataTable("user", "1234567");
	}

	private void createFileMenu() {
		fileMenu = new Menu(parent, SWT.DROP_DOWN);
		file = new MenuItem(menuBar, SWT.CASCADE);
		file.setText("文件(&F)");
		file.setMenu(fileMenu);

		create = new MenuItem(fileMenu, SWT.NONE);
		create.setText("新建(&N)...\tCtrl+N");
		create.setAccelerator(SWT.CTRL + 'N');
		create.addSelectionListener(this);

		drop = new MenuItem(fileMenu, SWT.NONE);
		drop.setText("删除(&D)\tCtrl+T");
		drop.setAccelerator(SWT.CTRL + 'D');
		drop.addSelectionListener(this);

		new MenuItem(fileMenu, SWT.SEPARATOR);

		exit = new MenuItem(fileMenu, SWT.NONE);
		exit.setText("退出(&X)\tCtrl+X");
		exit.setAccelerator(SWT.CTRL + 'X');
		exit.addSelectionListener(this);
	}

	private void createEditMenu() {
		editMenu = new Menu(parent, SWT.DROP_DOWN);
		edit = new MenuItem(menuBar, SWT.CASCADE);
		edit.setText("编辑(&E)");
		edit.setMenu(editMenu);

		searchDirect = new MenuItem(editMenu, SWT.NONE);
		searchDirect.setText("直接查找(&S)...\tCtrl+S");
		searchDirect.setAccelerator(SWT.CTRL + 'S');
		searchDirect.addSelectionListener(this);

		searchByRelationship = new MenuItem(editMenu, SWT.NONE);
		searchByRelationship.setText("按关系查找(&R)...\tCtrl+R");
		searchByRelationship.setAccelerator(SWT.CTRL + 'R');
		searchByRelationship.addSelectionListener(this);
	}

	private void createHelpMenu() {
		helpMenu = new Menu(parent, SWT.DROP_DOWN);
		help = new MenuItem(menuBar, SWT.CASCADE);
		help.setText("帮助(&H)");
		help.setMenu(helpMenu);

		about = new MenuItem(helpMenu, SWT.NONE);
		about.setText("关于(&A)\tCtrl+A");
		about.setAccelerator(SWT.CTRL + 'A');
		about.addSelectionListener(this);
	}

	public void widgetSelected(SelectionEvent evnt) {
		Object obj = evnt.getSource();

		if (obj.equals(about)) { // 关于
			MessageBox box = new MessageBox(parent);
			box.setText("关于通讯录");
			box.setMessage("一个用JAVA写的简易通讯录.\n");
			box.open();
		} else if (obj.equals(create)) {// 新建
			addFrame.open();
		} else if (obj.equals(drop)) {// 删除
			try {
				if (AddressBookUI.getName().equals(null)) {
					return;
				}
				table.deleteInfo(AddressBookUI.getName(), AddressBookUI
						.getRelationship());
			} catch (SQLException exp) {
				MessageBox box = new MessageBox(parent, SWT.ICON_ERROR);
				box.setMessage("删除出错.");
				box.setText("出错信息");
				box.open();
			}
			try {
				AddressBookUI.doSearch();
			} catch (SQLException exp) {

			}
		} else if (obj.equals(exit)) {// 退出
			parent.close();
		} else if (obj.equals(searchDirect)) {// 查找
			userInfoFrame.open();
		} else if (obj.equals(searchByRelationship)) {
			try {
				AddressBookUI.doSearch();
			} catch (SQLException exp) {
			}
		}
	}

	public void widgetDefaultSelected(SelectionEvent evnt) {

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -