JAVA GUI学习 - JMenuBar菜单条、JMenu菜单、JMenuItem菜单项组件学习

时间:2023-03-08 15:45:17
 public class MenuBarKnow extends JFrame
{
JMenuBar jMenuBar; JMenu jMenuFile,jMenuEditor,jMenuAbout;
JMenu jMenuOpen; JMenuItem jMenuItemSave,jMenuItemEditor,jMenuItemExit;
JMenuItem jMenuItemWord,jMenuItemTxt; public MenuBarKnow()
{
init();
this.setLayout(null);
this.setSize(300, 400);
this.setTitle("你信不信,这个是menu!");
//设置setLocationRelativeTo应在setSize之后设置
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //当this设置layout为null时,可以根据需要进行菜单的定位
// this.add(jMenuBar);
// jMenuBar.setBounds(10, 100, 300, 30);
//加入菜单的第二种方法:
this.setJMenuBar(jMenuBar); jMenuBar.add(jMenuFile);jMenuBar.add(jMenuEditor);jMenuBar.add(jMenuAbout); jMenuOpen.add(jMenuItemTxt);jMenuOpen.add(jMenuItemWord); jMenuFile.add(jMenuOpen);
jMenuFile.add(jMenuItemSave); jMenuEditor.add(jMenuItemEditor); jMenuAbout.add(jMenuItemExit); addListener();
}
public void init()
{
jMenuBar = new JMenuBar(); jMenuAbout = new JMenu("系统");
jMenuEditor = new JMenu("编辑");
jMenuFile = new JMenu("文件");
jMenuOpen = new JMenu("打开文件类型"); jMenuItemEditor = new JMenuItem("开始编辑");
jMenuItemExit = new JMenuItem("退出系统");
jMenuItemSave = new JMenuItem("保存");
jMenuItemTxt = new JMenuItem("Txt文件");
jMenuItemWord = new JMenuItem("Word文件"); //设置Item快捷键,方式一
jMenuItemEditor.setAccelerator(KeyStroke.getKeyStroke('s'));
//设置Item快捷键,方式二
jMenuItemExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,KeyEvent.ALT_MASK));
//设置Menu快捷键,这个快捷键必须和alt搭配使用
jMenuFile.setMnemonic('f');
/*****************************ToolBar的使用************************************/
//即:快捷按钮的使用,将JButton添加至JToolBar即可
}
public void addListener()
{
//设置Item的监听事件,以触发相应的事件发生
MenuItemActionListener menuItemActionListener = new MenuItemActionListener();
jMenuItemEditor.addActionListener(menuItemActionListener);
jMenuItemExit.addActionListener(menuItemActionListener);
jMenuItemSave.addActionListener(menuItemActionListener);
jMenuItemTxt.addActionListener(menuItemActionListener);
jMenuItemWord.addActionListener(menuItemActionListener);
}
public static void main(String[] args)
{
MenuBarKnow menuBarKnow = new MenuBarKnow();
menuBarKnow.setVisible(true);
} private class MenuItemActionListener implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
JMenuItem jMenuItem = (JMenuItem) e.getSource();
JOptionPane.showMessageDialog(null, jMenuItem.getText());
}
}
}