QHYun_practice-12
虽然现在菜单栏和工作栏还没有什么功能,不过还是初始化一下把,放在上面装装样子,后面需要通过他们实现一些功能的时候再来实现吧。
因为工具栏可能会用到combobox和button这些控件实现,所以我们去建一个tool的包,实现一些这些可能用到的组件。其实就是继承后重写了一下样式,然后写了一下响应时间,如果不嫌难看,用自带的也是可以的。
因为暂时也没设计这部分的功能,所以随便写写吧。
/** * 初始化菜单 */ private void initMenu() { JMenuBar menuBar = new JMenuBar(); // 创建一个菜单栏 JMenu fileMenu = new JMenu("文件"); // 创建一级菜单 JMenu editMenu = new JMenu("编辑"); // 创建一级菜单 JMenu viewMenu = new JMenu("视图"); // 创建一级菜单 JMenu helpMenu = new JMenu("帮助"); // 创建一级菜单 // 文件菜单 JMenuItem newMenuItem = new JMenuItem("新建"); // 创建一级子菜单 JMenuItem openMenuItem = new JMenuItem("打开"); JMenuItem exitMenuItem = new JMenuItem("退出"); fileMenu.add(newMenuItem); fileMenu.add(openMenuItem); fileMenu.addSeparator(); fileMenu.add(exitMenuItem); // 编辑菜单 JMenuItem copyMenuItem = new JMenuItem("复制"); JMenuItem pasteMenuItem = new JMenuItem("粘贴"); editMenu.add(copyMenuItem); editMenu.add(pasteMenuItem); // 视图菜单 JCheckBoxMenuItem checkBoxMenuItem01 = new JCheckBoxMenuItem("复选框子菜单01"); JCheckBoxMenuItem checkBoxMenuItem02 = new JCheckBoxMenuItem("复选框子菜单02"); JCheckBoxMenuItem checkBoxMenuItem03 = new JCheckBoxMenuItem("复选框子菜单03"); JRadioButtonMenuItem radioButtonMenuItem01 = new JRadioButtonMenuItem("单选按钮子菜单01"); JRadioButtonMenuItem radioButtonMenuItem02 = new JRadioButtonMenuItem("单选按钮子菜单02"); JRadioButtonMenuItem radioButtonMenuItem03 = new JRadioButtonMenuItem("单选按钮子菜单03"); ButtonGroup buttonGroup = new ButtonGroup(); // 单选按钮要生效,需要放到一个按钮组中 buttonGroup.add(radioButtonMenuItem01); buttonGroup.add(radioButtonMenuItem02); buttonGroup.add(radioButtonMenuItem03); viewMenu.add(checkBoxMenuItem01); viewMenu.add(checkBoxMenuItem02); viewMenu.add(checkBoxMenuItem03); viewMenu.addSeparator(); viewMenu.add(radioButtonMenuItem01); viewMenu.add(radioButtonMenuItem02); viewMenu.add(radioButtonMenuItem03); // 新建 子菜单添加监听器 newMenuItem.addActionListener(e -> { System.out.println("点击新建按钮"); }); // 退出 子菜单添加监听器 exitMenuItem.addActionListener(e -> { System.exit(0); }); // 复选框子菜单01 添加监听 checkBoxMenuItem01.addActionListener(e -> { System.out.println("复选框子菜单01是否被选中:" + checkBoxMenuItem01.isSelected()); }); // 单选按钮子菜单01 添加监听 radioButtonMenuItem01.addActionListener(e -> { System.out.println("复选框子菜单01是否被选中:" + radioButtonMenuItem01.isSelected()); }); // 关于菜单 JMenuItem aboutMenuItem = new JMenuItem("关于"); helpMenu.add(aboutMenuItem); menuBar.add(fileMenu); menuBar.add(editMenu); menuBar.add(viewMenu); menuBar.add(helpMenu); this.setJMenuBar(menuBar); // 设置菜单栏 } /** * 增加工具栏 */ JPanel toolbar_panel=null; JToolBar toolBar=null; private void initToolbar() { JPanel panel = new JPanel(new BorderLayout()); add(panel); this.setContentPane(panel); toolbar_panel=panel; // 创建 一个工具栏实例 toolBar = new JToolBar("测试工具栏"); add(toolBar); // 添加 工具栏 到 内容面板 的 顶部 panel.add(toolBar,BorderLayout.PAGE_START); toolBar.setFloatable(false); updateToolbar(); } /** * 更新工具栏 */ public void updateToolbar() { toolBar.removeAll(); // 创建 工具栏按钮 ToolBarComboBox cb = new ToolBarComboBox(this,100); cb.setToolTipText("选择"); cb.setFocusTraversalKeysEnabled(false); toolBar.add(cb); ToolBarButton tb = new ToolBarButton(this,true); tb.setIcon(new ImageIcon(SAbsolutePathHelper.getImagePath()+ File.separator +"ButtonIcon" +File.separator +"File.png")); tb.setToolTipText("文件"); toolBar.add(tb); toolBar.updateUI(); }
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号