zoukankan      html  css  js  c++  java
  • java 菜单

    简介

    java 核心编程

    code

    /*
     * @Author: your name
     * @Date: 2020-11-08 08:29:37
     * @LastEditTime: 2020-11-08 09:15:21
     * @LastEditors: Please set LastEditors
     * @Description: In User Settings Edit
     * @FilePath: /java/calcu/MenuFrame.java
     */
    package calcu;
    
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
    
    /**
     * @description:
     * @param {*}
     * @return {*}
     */
    public class MenuFrame extends JFrame {
        private static final int DEFAULT_WIDTH = 300;
        private static final int DEFAULT_HEIGHT = 200;
        private Action saveAction;
        private Action saveAsAction;
        private JCheckBoxMenuItem readonlyItem;
        private JPopupMenu popup;
    
        public static void main(String[] args) {
            EventQueue.invokeLater(() -> {
                JFrame frame = new MenuFrame();
                frame.setTitle("ImageTest");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setVisible(true);
            });
        }
    
        class TestAction extends AbstractAction {
            public TestAction(String name) {
                super(name);
            }
    
            public void actionPerformed(ActionEvent event) {
                System.out.println(getValue(Action.NAME) + " selected.");
            }
        }
    
        public MenuFrame() {
            setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
    
            JMenu fileMenu = new JMenu("File");
            fileMenu.add(new TestAction("New"));
    
            // demostrate accelerators
            JMenuItem openItem = fileMenu.add(new TestAction("Open"));
            openItem.setAccelerator(KeyStroke.getKeyStroke("ctrl O"));
    
            fileMenu.addSeparator();
    
            saveAction = new TestAction("Save");
            JMenuItem saveItem = fileMenu.add(saveAction);
            saveItem.setAccelerator(KeyStroke.getKeyStroke("ctrl S"));
    
            saveAsAction = new TestAction("Save As");
            fileMenu.add(saveAsAction);
            fileMenu.addSeparator();
    
            fileMenu.add(new AbstractAction("Exit") {
                public void actionPerformed(ActionEvent event) {
                    System.exit(0);
                }
            });
            // demostract checkbox and radio button menus
    
            readonlyItem = new JCheckBoxMenuItem("Read-only");
            readonlyItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent event) {
                    boolean saveOk = !readonlyItem.isSelected();
                    saveAction.setEnabled(saveOk);
                    saveAsAction.setEnabled(saveOk);
                }
            });
            ButtonGroup group = new ButtonGroup();
    
            JRadioButtonMenuItem insertItem = new JRadioButtonMenuItem("Insert");
            insertItem.setSelected(true);
            JRadioButtonMenuItem overtypeItem = new JRadioButtonMenuItem("Overtype");
    
            group.add(insertItem);
            group.add(overtypeItem);
    
            // demostrate icon
    
            Action cutAction = new TestAction("Cut");
            cutAction.putValue(Action.SMALL_ICON, new ImageIcon("cut.gif"));
            Action copyAction = new TestAction("Copy");
            copyAction.putValue(Action.SMALL_ICON, new ImageIcon("copy.gif"));
            Action pasteAction = new TestAction("Paste");
            pasteAction.putValue(Action.SMALL_ICON, new ImageIcon("paste.gif"));
    
            JMenu editMenu = new JMenu("Edit");
            editMenu.add(cutAction);
            editMenu.add(copyAction);
            editMenu.add(pasteAction);
    
            // demostrate nested menus
    
            JMenu optionMenu = new JMenu("Options");
    
            optionMenu.add(readonlyItem);
            optionMenu.addSeparator();
            optionMenu.add(insertItem);
            optionMenu.add(overtypeItem);
    
            editMenu.addSeparator();
            editMenu.add(optionMenu);
    
            // demostrate mnemonics
    
            JMenu helpMenu = new JMenu("Help");
            helpMenu.setMnemonic('H');
    
            JMenuItem indexItem = new JMenuItem("Index");
            indexItem.setMnemonic('I');
            helpMenu.add(indexItem);
    
            // you can also add the mnemonic key to an action
            Action aboutAction = new TestAction("About");
            aboutAction.putValue(Action.MNEMONIC_KEY, new Integer('A'));
            helpMenu.add(aboutAction);
    
            // add all top-level menus to menu bar
    
            JMenuBar menuBar = new JMenuBar();
            setJMenuBar(menuBar);
    
            menuBar.add(fileMenu);
            menuBar.add(editMenu);
            menuBar.add(helpMenu);
    
            // demostrate pop-ups
    
            popup = new JPopupMenu();
            popup.add(cutAction);
            popup.add(copyAction);
            popup.add(pasteAction);
    
            JPanel panel = new JPanel();
            panel.setComponentPopupMenu(popup);
            add(panel);
    
        }
    }
    
    
    Hope is a good thing,maybe the best of things,and no good thing ever dies.----------- Andy Dufresne
  • 相关阅读:
    MPTCP iperf 发包方式
    Java 中的覆盖@Override注解 写与不写的一点点理解
    servlet 方法有哪些
    java 获取HTTP 头部信息
    七种访问方式(get post及上传文件)
    Enumeration接口的用法
    HTTP头部详解及使用Java套接字处理HTTP请求
    以debug模式启动tomcat服务器
    第一个servlet 使用out输出html文档
    基于Servlet3.0的文件上传
  • 原文地址:https://www.cnblogs.com/eat-too-much/p/13943420.html
Copyright © 2011-2022 走看看