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

来源:互联网 发布:csp绘画软件下载 编辑:程序博客网 时间:2024/05/20 22:26
 

代码一:
 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) ;
 }
}

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 科目二指纹打卡指纹不清楚怎么办 教练凶你的时候怎么办 人行聘用制3年后怎么办 道路运输从业资格证过期了怎么办 码头如果要危险运输证怎么办? 7座车怎么办载客营运证 商调函到了原单位不配合怎么办 公司车辆超证了怎么办? 准迁证过期了5年怎么办 天津中派木业不发工资怎么办 在香港餐厅嫌冷怎么办 出国读研报到证怎么办 高中后出国留学档案怎么办 爱迪花园拆了怎么办 燕郊房子卖了户口怎么办 强制险单子丢了怎么办 车辆保险贴丢了怎么办 车险原单子丢了怎么办 车险保单丢了该怎么办? 审车保险单丢了怎么办 湖州公积金贷款买房具体信用怎么办 驾驶本扣分满了怎么办 摩托车被扣12分怎么办 驾照被扣12分怎么办 骑摩托被扣12分怎么办 摩托车没有驾照违章被扣分怎么办 高考登录密码丢了怎么办 高中档案遗失里面体检表怎么办 驾校不给补科一成绩单怎么办 外地驾照转广州体检表怎么办 驾照体检表签名签错怎么办 改完名字后护照怎么办 办健康证没有身份证怎么办 身份证掉了怎么办健康证 华师附小不搬了怎么办 健康证快到期了怎么办 老公想去日本打工怎么办 学生没有资产证明怎么办日本签证 在读证明学校不按模版怎么办 办日本签证没有户口本怎么办 日本大学留级续签失败怎么办