zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然JAVA图形界面编程学习笔记:菜单组件

    import java.awt.event.WindowAdapter ;
    import java.awt.event.WindowEvent ;
    import java.awt.Container ;
    import java.io.File ;
    import javax.swing.JFrame ;
    import javax.swing.ImageIcon ;
    import javax.swing.JTextArea ;
    import javax.swing.JScrollPane ;
    import javax.swing.JMenu ;
    import javax.swing.JMenuBar ;
    
    public class JMenuDemo01{
        public static void main(String args[]){
            JFrame frame = new JFrame("Welcome To MLDN") ;
            JTextArea text = new JTextArea() ;
            text.setEditable(true) ;    // 可编辑
            frame.getContentPane().add(new JScrollPane(text)) ;    // 加入滚动条
            JMenu menuFile = new JMenu("文件") ;
            menuFile.setIcon(new ImageIcon("d:"+File.separator+"icons"+File.separator+"file.gif")) ;
            JMenuBar menuBar = new JMenuBar() ;
            menuBar.add(menuFile) ;
            frame.setJMenuBar(menuBar) ;    // 菜单是需要通过此方法增加的
            frame.addWindowListener(new WindowAdapter(){
                public void windowClosing(WindowEvent e){
                    System.exit(1) ;
                }
            }) ;
            frame.setVisible(true) ;
            frame.setSize(300,100) ;
            frame.setLocation(300,200) ;
        }
    }
    import java.awt.event.WindowAdapter ;
    import java.awt.event.WindowEvent ;
    import java.awt.Container ;
    import java.io.File ;
    import javax.swing.JFrame ;
    import javax.swing.ImageIcon ;
    import javax.swing.JTextArea ;
    import javax.swing.JScrollPane ;
    import javax.swing.JMenu ;
    import javax.swing.KeyStroke ;
    import javax.swing.JMenuBar ;
    import javax.swing.JMenuItem ;
    
    public class JMenuDemo02{
        public static void main(String args[]){
            JFrame frame = new JFrame("Welcome To MLDN") ;
            JTextArea text = new JTextArea() ;
            text.setEditable(true) ;    // 可编辑
            frame.getContentPane().add(new JScrollPane(text)) ;    // 加入滚动条
            JMenu menuFile = new JMenu("文件") ;
            menuFile.setIcon(new ImageIcon("d:"+File.separator+"icons"+File.separator+"file.gif")) ;
            JMenuBar menuBar = new JMenuBar() ;
            menuBar.add(menuFile) ;
    
            JMenuItem newItem = new JMenuItem("新建",new ImageIcon("d:"+File.separator+"icons"+File.separator+"new.gif")) ;
            JMenuItem openItem = new JMenuItem("打开",new ImageIcon("d:"+File.separator+"icons"+File.separator+"open.gif")) ;
            JMenuItem closeItem = new JMenuItem("关闭",new ImageIcon("d:"+File.separator+"icons"+File.separator+"close.gif")) ;
            JMenuItem exitItem = new JMenuItem("退出",new ImageIcon("d:"+File.separator+"icons"+File.separator+"exit.gif")) ;
    
            // 此时定义完了四个菜单的选项,定义完成之后,增加快捷键
            newItem.setMnemonic('N') ;
            openItem.setMnemonic('O') ;
            closeItem.setMnemonic('C') ;
            exitItem.setMnemonic('E') ;
    
            newItem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK)) ;
            openItem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK)) ;
            closeItem.setAccelerator(KeyStroke.getKeyStroke('C',java.awt.Event.ALT_MASK)) ;
            exitItem.setAccelerator(KeyStroke.getKeyStroke('E',java.awt.Event.ALT_MASK)) ;
    
            menuFile.add(newItem) ;
            menuFile.add(openItem) ;
            menuFile.add(closeItem) ;
            menuFile.add(exitItem) ;
    
            frame.setJMenuBar(menuBar) ;    // 菜单是需要通过此方法增加的
            frame.addWindowListener(new WindowAdapter(){
                public void windowClosing(WindowEvent e){
                    System.exit(1) ;
                }
            }) ;
            frame.setVisible(true) ;
            frame.setSize(300,100) ;
            frame.setLocation(300,200) ;
        }
    }
    import java.awt.event.WindowAdapter ;
    import java.awt.event.WindowEvent ;
    import java.awt.event.ActionListener ;
    import java.awt.event.ActionEvent ;
    import java.awt.Container ;
    import java.io.File ;
    import javax.swing.JFrame ;
    import javax.swing.ImageIcon ;
    import javax.swing.JTextArea ;
    import javax.swing.JScrollPane ;
    import javax.swing.JMenu ;
    import javax.swing.KeyStroke ;
    import javax.swing.JMenuBar ;
    import javax.swing.JMenuItem ;
    
    public class JMenuDemo03{
        public static void main(String args[]){
            JFrame frame = new JFrame("Welcome To MLDN") ;
            final JTextArea text = new JTextArea() ;
            text.setEditable(true) ;    // 可编辑
            frame.getContentPane().add(new JScrollPane(text)) ;    // 加入滚动条
            JMenu menuFile = new JMenu("文件") ;
            menuFile.setIcon(new ImageIcon("d:"+File.separator+"icons"+File.separator+"file.gif")) ;
            JMenuBar menuBar = new JMenuBar() ;
            menuBar.add(menuFile) ;
    
            JMenuItem newItem = new JMenuItem("新建",new ImageIcon("d:"+File.separator+"icons"+File.separator+"new.gif")) ;
            JMenuItem openItem = new JMenuItem("打开",new ImageIcon("d:"+File.separator+"icons"+File.separator+"open.gif")) ;
            JMenuItem closeItem = new JMenuItem("关闭",new ImageIcon("d:"+File.separator+"icons"+File.separator+"close.gif")) ;
            JMenuItem exitItem = new JMenuItem("退出",new ImageIcon("d:"+File.separator+"icons"+File.separator+"exit.gif")) ;
    
            // 此时定义完了四个菜单的选项,定义完成之后,增加快捷键
            newItem.setMnemonic('N') ;
            openItem.setMnemonic('O') ;
            closeItem.setMnemonic('C') ;
            exitItem.setMnemonic('E') ;
    
            newItem.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK)) ;
            openItem.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK)) ;
            closeItem.setAccelerator(KeyStroke.getKeyStroke('C',java.awt.Event.ALT_MASK)) ;
            exitItem.setAccelerator(KeyStroke.getKeyStroke('E',java.awt.Event.ALT_MASK)) ;
    
            newItem.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    text.append("=== 选择了“新建”菜单项
    ") ;
                }
            }) ;
    
            openItem.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    text.append("=== 选择了“打开”菜单项
    ") ;
                }
            }) ;
    
            closeItem.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    text.append("=== 选择了“关闭”菜单项
    ") ;
                }
            }) ;
    
            exitItem.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    text.append("=== 选择了“退出”菜单项
    ") ;
                }
            }) ;
    
            menuFile.add(newItem) ;
            menuFile.add(openItem) ;
            menuFile.add(closeItem) ;
            menuFile.add(exitItem) ;
    
            frame.setJMenuBar(menuBar) ;    // 菜单是需要通过此方法增加的
            frame.addWindowListener(new WindowAdapter(){
                public void windowClosing(WindowEvent e){
                    System.exit(1) ;
                }
            }) ;
            frame.setVisible(true) ;
            frame.setSize(300,100) ;
            frame.setLocation(300,200) ;
        }
    }
  • 相关阅读:
    个人阅读笔记05—数据流图
    JVM(三)程序计数器【PC寄存器】
    JVM(三)运行时数据区的概述,线程概述
    JVM(二)表示两个Class对象是否为同一个类;Java程序对类的使用
    我的面试经之JVM(二)双亲委派机制
    我的面试经之JVM(二) ClassLoader补充【获取类的加载器的方式】
    我的面试经之JVM(二)类加载器的分类
    我的面试经之JVM(二)类加载器子系统ClassLoader类的加载过程
    Python小白要了解的模块大概用途(随学习进度更新),import xxxx
    Python常见的模块(知乎转载)
  • 原文地址:https://www.cnblogs.com/tszr/p/12398938.html
Copyright © 2011-2022 走看看