📄 bmsmenubar.java
字号:
package com.ciash.bms.gui.menu;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import com.ciash.bms.entity.Popedom;
import com.ciash.bms.entity.User;
import com.ciash.bms.gui.impl.LoginDialog;
import com.ciash.bms.gui.menu.event.AboutListener;
import com.ciash.bms.gui.menu.event.ClearListener;
import com.ciash.bms.gui.menu.event.EditBookListener;
import com.ciash.bms.gui.menu.event.FindBookListener;
import com.ciash.bms.gui.menu.event.FindUserListener;
import com.ciash.bms.gui.menu.event.GenusListenr;
import com.ciash.bms.gui.menu.event.LoginListener;
import com.ciash.bms.gui.menu.event.PopedomAddListener;
import com.ciash.bms.gui.menu.event.RegisterListener;
import com.ciash.bms.gui.menu.event.SystemListener;
import com.ciash.bms.gui.menu.event.popedomEditListener;
import com.ciash.bms.gui.updater.LoginUpdater;
import com.ciash.bms.observer.BookEditObserver;
import com.ciash.bms.observer.FindBookEventObserver;
import com.ciash.bms.observer.FindStopObserver;
import com.ciash.bms.observer.EditGenusObserver;
import com.ciash.bms.observer.PopedomEditObserver;
import com.ciash.bms.observer.SystemObserver;
import com.ciash.bms.observer.FindUserEventObserver;
import com.ciash.bms.observer.UserLoginObserver;
import com.ciash.bms.observer.UserRegisterObserver;
/**
* <p>
* Title: BMS
* </p>
* <p>
* Description:
* </p>
* <p>
* Copyright: Copyright (c) 2009
* </p>
* <p>
* Company: Cigarette Ash Inc.
* </p>
*
* @author Cigarette Ash
* @version 1.0
*/
public class BMSMenuBar extends JMenuBar implements LoginUpdater {
// ---------------------------------------------------------------------------------------------
// 关于菜单定义
private JMenu about = new JMenu("关于");
private JMenuItem aboutAuthor = new JMenuItem(AboutListener.ABOUT_AUTHOR);
private JMenuItem aboutSoftware = new JMenuItem(
AboutListener.ABOUT_SOFTWARE);
// ---------------------------------------------------------------------------------------------
// 用户登陆退出定义
private JMenu admin = new JMenu("权限");
private JMenuItem login = new JMenuItem(LoginListener.LOGIN);
private JMenuItem quit = new JMenuItem(LoginListener.QUIT);
// ---------------------------------------------------------------------------------------------
// 管理菜单
private JMenu control = new JMenu("管理");
// // 分类管理菜单
private JMenu genus = new JMenu("图书分类管理");
private JMenuItem addGenus = new JMenuItem(GenusListenr.ADD);
// // 用户菜单
private JMenu user = new JMenu("用户管理");
private JMenuItem register = new JMenuItem(RegisterListener.REGISTER);
private JMenuItem searchUser = new JMenuItem(FindUserListener.SEARCH);
private JMenuItem userPopEdit = new JMenuItem("用户权限管理");
private JMenuItem addPop = new JMenuItem("添加权限");
// // 书籍菜单
private JMenu book = new JMenu("书籍管理");
private JMenuItem searchBook = new JMenuItem(FindBookListener.SEARCH);
private JMenuItem addBook = new JMenuItem(EditBookListener.ADD);
// // 查找总操作
private JMenuItem clear = new JMenuItem("停止查找");
// 软件控制
private JMenu softwareControl = new JMenu("软件控制");
private JMenuItem exit = new JMenuItem(SystemListener.EXIT_SYSTEM);
// ---------------------------------------------------------------------------------------------
// 控制器以及事件监听器
// //登陆
private UserLoginObserver userLoginObserver;
private LoginListener loginListener;
// //注册
private UserRegisterObserver userRegisterObserver;
private RegisterListener registerListener;
// //系统
private SystemObserver systemObserver;
private SystemListener systemListener;
private FindUserEventObserver findUserEventObserver;
private FindUserListener findUserListener;
private FindBookEventObserver findBookEventObserver;
private FindBookListener findBookListener;
private FindStopObserver findStopObserver;
private ClearListener clearListener;
private BookEditObserver bookEditObserver;
private EditBookListener editBookListener;
private GenusListenr genusListenr;
private EditGenusObserver editGenusObserver;
private PopedomEditObserver popedomEditObserver;
private popedomEditListener popedomEditListener;
private boolean isLogin;
// ---------------------------------------------------------------------------------------------
public BMSMenuBar() {
init();
}
private void init() {
login.setEnabled(true);
quit.setEnabled(false);
initMenuLayout();
}
private void initMenuLayout() {
user.add(searchUser);
book.add(searchBook);
admin.add(login);
admin.add(quit);
control.add(book);
control.add(user);
control.add(clear);
about.add(aboutSoftware);
about.add(aboutAuthor);
add(admin);
add(control);
add(softwareControl);
add(about);
softwareControl.add(exit);
}
public void login() {
login.setEnabled(false);
quit.setEnabled(true);
control.add(clear);
}
public void quit() {
login.setEnabled(true);
quit.setEnabled(false);
}
// ---------------------------------------------------------------------------------------------
// setter 与 getter
// loginObserver
public void setLoginObserver(UserLoginObserver userLoginObserver) {
if (login.getActionListeners().length > 0) {
quit.removeActionListener(loginListener);
login.removeActionListener(loginListener);
}
loginListener = new LoginListener(userLoginObserver);
quit.addActionListener(loginListener);
login.addActionListener(loginListener);
this.userLoginObserver = userLoginObserver;
}
public UserLoginObserver getLoginObserver() {
return userLoginObserver;
}
// registerObserver
public void setRegisterObserver(UserRegisterObserver userRegisterObserver) {
if (register.getActionListeners().length > 0) {
register.removeActionListener(registerListener);
}
registerListener = new RegisterListener(userRegisterObserver);
register.addActionListener(registerListener);
this.userRegisterObserver = userRegisterObserver;
}
public UserRegisterObserver getRegisterObserver() {
return userRegisterObserver;
}
// systemObserver
public void setSystemObserver(SystemObserver systemObserver) {
this.systemObserver = systemObserver;
systemListener = new SystemListener(systemObserver);
exit.addActionListener(systemListener);
}
public SystemObserver getSystemObserver() {
return this.systemObserver;
}
// findUserObserver
public FindUserEventObserver getFindUserObserver() {
return findUserEventObserver;
}
public void setFindUserObserver(FindUserEventObserver findUserEventObserver) {
findUserListener = new FindUserListener(findUserEventObserver);
searchUser.addActionListener(findUserListener);
this.findUserEventObserver = findUserEventObserver;
}
// findBookObserver
public FindBookEventObserver getFindBookObserver() {
return this.findBookEventObserver;
}
public void setFindBookObserver(FindBookEventObserver findBookEventObserver) {
findBookListener = new FindBookListener(findBookEventObserver);
searchBook.addActionListener(findBookListener);
this.findBookEventObserver = findBookEventObserver;
}
public void setResultClear(FindStopObserver resultCleaner) {
this.clearListener = new ClearListener(resultCleaner);
clear.addActionListener(clearListener);
this.findStopObserver = resultCleaner;
}
public FindStopObserver getResultClear() {
return this.findStopObserver;
}
public void setEditBookObserver(BookEditObserver bookEditObserver) {
this.bookEditObserver = bookEditObserver;
this.editBookListener = new EditBookListener(bookEditObserver);
this.addBook.addActionListener(editBookListener);
}
public BookEditObserver getEditBookObserver() {
return this.bookEditObserver;
}
public void setGenusObserver(EditGenusObserver editGenusObserver) {
this.editGenusObserver = editGenusObserver;
this.genusListenr = new GenusListenr(editGenusObserver);
addGenus.addActionListener(genusListenr);
}
public EditGenusObserver getGenusObserver() {
return this.editGenusObserver;
}
// ---------------------------------------------------------------------------------------------
public void setPopedomEditObserver(PopedomEditObserver popedomEditObserver) {
this.popedomEditObserver = popedomEditObserver;
popedomEditListener l1 = new popedomEditListener(popedomEditObserver);
PopedomAddListener l2 = new PopedomAddListener(popedomEditObserver);
userPopEdit.addActionListener(l1);
addPop.addActionListener(l2);
}
public PopedomEditObserver getPopedomEditObserver() {
return popedomEditObserver;
}
public void updateLogin(User u, Popedom pop) {
setAddBookPop(pop);
setAddUserPop(pop);
initMenuLayout();
setEditBookPop(pop);
setEditPopPop(pop);
login();
}
private void setEditPopPop(Popedom pop) {
if (pop.isCanEditPop()) {
user.add(userPopEdit);
user.add(addPop);
} else {
user.remove(userPopEdit);
user.remove(addPop);
}
}
private void setEditBookPop(Popedom pop) {
if (pop.isCanEditBook()) {
genus.add(addGenus);
control.add(genus);
} else {
genus.remove(addGenus);
control.remove(genus);
}
}
private void setAddUserPop(Popedom pop) {
if (pop.isCanAddUser()) {
user.add(register);
} else {
user.remove(register);
}
}
public void updateQuit() {
quit();
book.remove(addBook);
user.remove(register);
genus.remove(addGenus);
control.remove(genus);
user.remove(userPopEdit);
user.remove(addPop);
}
private void setAddBookPop(Popedom pop) {
if (pop.isCanAddBook()) {
book.add(addBook);
} else {
book.remove(addBook);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -