📄 menubar.java
字号:
package lib;
import javax.swing.*;
import java.awt.*;
import javax.swing.plaf.*;
import javax.swing.plaf.metal.*;
import javax.swing.border.*;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
public class Menubar extends JMenuBar {
/***************************************************************************
*** declaration of the private variables used in the program ***
***************************************************************************/
//for creating the JMenu for the program
public JMenu fileMenu, bookMenu, memberMenu, searchMenu, loanMenu, helpMenu,optMenu;
//for creating the JMenuItem for JMenu
public JMenuItem printBook, exit, addBook, listBook, listAvailbleBook, listBorrowedBook, editBook,
removeBook, bookInformation, addMember, listMember, editMember, removeMember, memberInformation,
searchBooksAndMembers, borrowBook, returnBook, help, about;
public JMenuItem change, style, theme,admin,log;
//for creating an imageIcon
public ImageIcon[] icons;
//for creating the name of the image file 16*16
public String[] imageName16 = {"images/Print16.gif", "images/Exit16.gif",
"images/Add16.gif", "images/List16.gif",
"images/Edit16.gif", "images/Delete16.gif",
"images/Information16.gif", "images/Find16.gif",
"images/Export16.gif", "images/Import16.gif",
"images/Help16.gif", "images/About16.gif"};
public String[] strings = {"1. Metal ", "2. Motif", "3. Windows"};
;
public UIManager.LookAndFeelInfo[] looks;
public ButtonGroup group;
public JRadioButtonMenuItem radio[];
public Menubar() {
//for adding book, member, search, loan & help Menus to the menu bar
this.add(fileMenu = new JMenu("文件(f)"));
this.add(bookMenu = new JMenu("图书(b)"));
this.add(memberMenu = new JMenu("用户(m)"));
this.add(searchMenu = new JMenu("搜索(s)"));
this.add(loanMenu = new JMenu("借书(l)"));
this.add(helpMenu = new JMenu("帮助(h)"));
this.add(optMenu = new JMenu("设置(o)"));
/**
*for setting the Mnemonic
*/
fileMenu.setMnemonic('f');
bookMenu.setMnemonic('b');
memberMenu.setMnemonic('m');
searchMenu.setMnemonic('s');
loanMenu.setMnemonic('l');
helpMenu.setMnemonic('h');
optMenu.setMnemonic ('o');
//for setting the image icons
icons = new ImageIcon[12];
for (int i = 0; i < imageName16.length; i++) {
icons[i] = new ImageIcon(ClassLoader.getSystemResource(imageName16[i]));
}
looks = UIManager.getInstalledLookAndFeels ();
group = new ButtonGroup ();
radio = new JRadioButtonMenuItem[strings.length];
//for adding log, print books , exit
fileMenu.add(log = new JMenuItem("日志",icons[3]));
fileMenu.add(printBook = new JMenuItem("打印图书", icons[0]));
fileMenu.add(exit = new JMenuItem("退出", icons[1]));
//for adding add, list, listAvailble, listBorrowed, edit & remove Books and book information to the bookMenu
bookMenu.add(addBook = new JMenuItem("添加图书", icons[2]));
bookMenu.add(listBook = new JMenuItem("列出所有图书", icons[3]));
bookMenu.add(listAvailbleBook = new JMenuItem("列出未借图书", icons[3]));
bookMenu.add(listBorrowedBook = new JMenuItem("列出已借图书", icons[3]));
bookMenu.add(editBook = new JMenuItem("编辑图书", icons[4]));
bookMenu.add(removeBook = new JMenuItem("删除图书", icons[5]));
bookMenu.add(bookInformation = new JMenuItem("图书信息", icons[6]));
//for adding add, list, edit & remove Members and member information to the memberMenu
memberMenu.add(addMember = new JMenuItem("添加用户", icons[2]));
memberMenu.add(listMember = new JMenuItem("列出所有用户", icons[3]));
memberMenu.add(editMember = new JMenuItem("编辑用户", icons[4]));
memberMenu.add(removeMember = new JMenuItem("删除用户", icons[5]));
memberMenu.add(memberInformation = new JMenuItem("用户信息", icons[6]));
memberMenu.add(admin = new JMenuItem("管理员信息",icons[6]));
//for adding add, list & remove Members to the memberMenu
searchMenu.add(searchBooksAndMembers = new JMenuItem("搜索", icons[7]));
//for adding borrow & return books to the loanMenu
loanMenu.add(borrowBook = new JMenuItem("借出图书", icons[8]));
loanMenu.add(returnBook = new JMenuItem("归还图书", icons[9]));
//for adding help & about to the helpMenu
helpMenu.add(help = new JMenuItem("帮助", icons[10]));
helpMenu.add(about = new JMenuItem("关于", icons[11]));
//for adding change,style & theme to optMenu
optMenu.add(change = new JMenuItem ("改变背景颜色"));
optMenu.add(style = new JMenu ("改变界面风格"));
for( int i = 0; i < radio.length ; i++ ) {
radio[i] = new JRadioButtonMenuItem (strings[i]);
radio[i].setSelected (false);
group.add (radio[i]);
style.add (radio[i]);
}
radio[0].setSelected(true);
MetalTheme[] themes = { new DefaultMetalTheme (), new BlueTheme (), new BrownTheme (), new GreenTheme (),
new ChocTheme (), new OrangeTheme (), new PinkTheme (), new RedTheme (),
new WaterTheme (), new YellowTheme () };
theme = new MetalThemeMenu ("改变界面颜色", themes); //Putting the Themes in ThemeMenu.
optMenu.add(theme);
//for setting the shortcut
printBook.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, ActionEvent.CTRL_MASK));
exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4, ActionEvent.ALT_MASK));
searchBooksAndMembers.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK));
addBook.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.CTRL_MASK));
listBook.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, ActionEvent.CTRL_MASK));
editBook.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E, ActionEvent.CTRL_MASK));
removeBook.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK));
addMember.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M, ActionEvent.CTRL_MASK));
listMember.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I, ActionEvent.CTRL_MASK));
editMember.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, ActionEvent.CTRL_MASK));
removeMember.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, ActionEvent.CTRL_MASK));
borrowBook.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B, ActionEvent.CTRL_MASK));
returnBook.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, ActionEvent.CTRL_MASK));
help.setAccelerator(KeyStroke.getKeyStroke("F1"));
about.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T, ActionEvent.CTRL_MASK));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -