📄 menubar.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 + -