25---AWT和Swing(11)菜单组件(视频代码)

 

代码一:
 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("=== 选择了“新建”菜单项\n") ;
   }
  }) ;

  openItem.addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent e){
    text.append("=== 选择了“打开”菜单项\n") ;
   }
  }) ;

  closeItem.addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent e){
    text.append("=== 选择了“关闭”菜单项\n") ;
   }
  }) ;

  exitItem.addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent e){
    text.append("=== 选择了“退出”菜单项\n") ;
   }
  }) ;

  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) ;
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值