欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第19讲JavaGUI菜单和工具栏.ppt

    • 资源ID:6108090       资源大小:557.05KB        全文页数:27页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第19讲JavaGUI菜单和工具栏.ppt

    第十九Java GUI编程高级,本讲主要内容:给GUI应用程序添加菜单“Java Editor”项目的界面更新为组件定制弹出式菜单给GUI应用程序添加工具栏,一、给GUI应用程序添加菜单,菜单概述,菜单的作用:给应用程序设置操作菜单。菜单组成 JMenuItem-菜单项,直接指向一个具体的操作 JMenu-菜单,其中可加入菜单项(JMenuItem)和菜单(Jmenu)JMenuBar-菜单栏,在其中可以加入菜单(JMenu),菜单的创建和组织,菜单的创建 JMenu、JMenuBar和JMenuItem类的构造方法见表:如创建一个“File”菜单:JMenu file=new JMenu(File);,菜单的创建和组织(续),菜单的组织 菜单栏可象别的组件一样添加到应用程序窗口。JFrame窗口加入菜单栏的方法:public void setJMenuBar(JMenuBar menubar)JMenuBar加入JMenu的方法:public JMenu add(JMenu c)JMenu中加入JMenu、JMenuItem、分隔线的方法:public JMenuItem add(JMenuItem menuItem)public void addSeparator()说明:因JMenu是JMenuItem的子类,故add(JMenuItem menuItem)也可加入JMenu菜单。如:file.add(new JMenuItem(New);file.addSeparator();,菜单的创建和组织(续),快捷键设置 JMenu的快捷键通常是Alt+字符键的组合,可用setMnemonic方法设置:JMenu对象.setMnemonic(int mnemonic);JMenuItem的快捷键可以是Ctrl+字符键或Alt+字符键的组合,可用setAccelerator方法设置:JMenuItem对象.setAccelerator(KeyStroke.getKeyStroke(参数1,参数2);参数1指向快捷键字符。参数2指向控制字符,通常是KeyEvent.CTRL_MASK(Ctrl),KeyEvent.ALT_MASK(Alt)。如:open.setAccelerator(KeyStroke.getKeyStroke(O,KeyEvent.CTRL_MASK);可给“open”菜单项设置快捷键“Ctrl+O”。,菜单项的事件处理,当用户选定一个菜单项时,该菜单项将发生ActionEvent事件。关于ActionEvent事件的处理,重申三要点:(1)安装侦听器(implements ActionListener)(2)通过addActionListener方法设置侦听(3)重写方法actionPerformed实现事件处理,二、“Java Editor”项目的界面更新,界面设计,新的界面将按钮的功能集合到菜单栏中。界面元素 菜单,集合了所有的功能。嵌入滚动面板的多行文本框,用于文本显示和编辑。,界面设计(续),“Edit”对文本区域操作,可以实现:复制、剪切、粘贴以及全选。“Help”“About”将弹出About窗口。参考界面如图所示。,程序实现:import java.awt.*;import java.awt.event.*;import javax.swing.*;class NewEditor extends JFrame JMenuBar mnb;/菜单栏 JMenu file,edit,config,help;/各菜单 JMenuItem New,open,save,exit;/File下的菜单项 JMenuItem copy,cut,paste,selectall;/Edit下的菜单项 JMenuItem fc,bc,dc;/Config下的菜单项 JMenuItem about;/Help下的菜单项 JTextArea t;NewEditor()super(Java Editor);setDefaultCloseOperation(3);editInit();this.add(new JScrollPane(t);this.setJMenuBar(mnb);this.setBounds(200,200,600,400);this.setVisible(true);,private void editInit()t=new JTextArea();t.setLineWrap(true);file=new JMenu(File);file.setMnemonic(F);New=new JMenuItem(New);open=new JMenuItem(Open);save=new JMenuItem(Save);exit=new JMenuItem(Exit);file.add(New);file.add(open);file.addSeparator();file.add(save);file.addSeparator();file.add(exit);edit=new JMenu(Edit);edit.setMnemonic(E);copy=new JMenuItem(Copy);paste=new JMenuItem(Paste);cut=new JMenuItem(Cut);,edit.add(cut);edit.add(copy);edit.add(paste);edit.addSeparator();edit.add(selectall);config=new JMenu(Config);config.setMnemonic(C);bc=new JMenuItem(Back Color);fc=new JMenuItem(Fore Color);dc=new JMenuItem(Default Color);config.add(fc);config.add(bc);config.addSeparator();config.add(dc);help=new JMenu(Help);help.setMnemonic(H);about=new JMenuItem(About);help.add(about);mnb=new JMenuBar();mnb.add(file);mnb.add(edit);mnb.add(config);mnb.add(help);public static void main(String args)new NewEditor();,三、为组件定制弹出式菜单,问题的提出,为“Java Editor”程序的文本编辑区域定制如图所示的的弹出式菜单。菜单中有五个菜单项组成,分别指示了不同的字体风格,可通过菜单项的选择实现文本区域中文本字体和字号的改变。,用JPopupMenu类建立弹出式菜单,建立弹出式菜单 预先定义一个继承JPopupMenu类的子类,弹出式菜单施加给的对象应由构造方法中的参数接收。本例应是负责文本编辑的多行文本框。JPopupMenu类的add方法允许向菜单中加入菜单项。弹出式菜单项的激活事件是ActionEvent,可依照多按钮的事件处理方法进行事件处理。,字体风格弹出式菜单的实现:import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.BevelBorder;class FontPopup extends JPopupMenu implements ActionListener String item;Font font;JMenuItem mt;JTextArea t;FontPopup(JTextArea t)this.t=t;this.setBorder(new BevelBorder(BevelBorder.RAISED);/设置立体边框 item=new String标准仿宋,粗放行楷,规矩新魏,精致宋体,灵感隶书;font=new Font new Font(仿宋,0,18),new Font(华文行楷,0,30),new Font(华文新魏,0,22),new Font(宋体,0,14),new Font(隶书,0,20);for(int i=0;iitem.length;i+)mt=new JMenuItem(itemi);mt.setFont(new Font(仿宋,0,14);this.add(mt);mt.addActionListener(this);,public void actionPerformed(ActionEvent e)String s=e.getActionCommand();int i;for(i=0;iitem.length;i+)if(s.equals(itemi)break;t.setFont(fonti);,用JPopupMenu类建立弹出式菜单,为多行文本框定制弹出式菜单让以上的弹出式菜单对文本框真实可用,就需要对文本框设置事件侦听。可通过MouseEvent的getButton()方法判断用户按下了哪个鼠标键:MouseEvent.BUTTON1左键 MouseEvent.BUTTON2中间键 MouseEvent.BUTTON3右键,多行文本框带弹出式菜单的实现:import java.awt.event.*;import javax.swing.*;class JTextAreaWithMenu extends JTextArea implements MouseListener FontPopup fp;JTextAreaWithMenu(int r,int c)super(r,c);fp=new FontPopup(this);this.addMouseListener(this);this.add(fp);public void mousePressed(MouseEvent e)if(e.getButton()=e.BUTTON3)fp.show(this,e.getX(),e.getY();public void mouseClicked(MouseEvent e)public void mouseEntered(MouseEvent e)public void mouseExited(MouseEvent e)public void mouseReleased(MouseEvent e),四、给GUI应用程序添加工具栏,问题提出,继续对“Java Editor”项目进行更新,再为界面添加如图所示的工具栏。工具栏上流式顺序排放了七个工具按钮,作用分别是:新建文件、打开文件、保存文件、复制、剪切、粘贴、帮助。,工具栏界面设计,步骤创建工具栏对象 将组件加入到工具栏 将工具栏加入到应用程序窗口,工具栏界面设计(续),创建工具栏对象 工具栏用JToolBar类及其子类创建,它是一个容器组件,在工具栏组件中可以容放其他组件。JToolBar的构造方法:public JToolBar():默认方向为水平(HORIZONTAL)。public JToolBar(int orientation):指定方向,参数可选 HORIZONTAL 或 VERTICAL,后者为竖式工具栏。public JToolBar(String name):指定标题,标题浮动时可见。默认的方向为 HORIZONTAL。,工具栏界面设计(续),将组件加入到工具栏 工具栏设置布局:setLayout方法,默认FlowLayout流式排放。工具栏添加组件:add方法向。也可通过“addSeparator()”方法在工具栏中加入分隔,以对工具按钮按功能分组。将工具栏加入到应用程序窗口 JFrame类的add方法,可将工具栏加入进应用程序窗口,同时确定停放位置。如:this.add(toolBar,North);/加入工具栏并停靠在上边,import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;class EditorToolBar extends JToolBar EditorToolBar(JTextArea t)super(Toolbar for Java Editor);String imgFile=new.jpg,open.jpg,save.jpg,copy.jpg,cut.jpg,paste.jpg,help.jpg;ImageIcon toolImage=new ImageIconimgFile.length;JButton tb=new JButtonimgFile.length;for(int i=0;i imgFile.length;i+)toolImagei=new ImageIcon(graphics+imgFilei);tbi=new JButton(toolImagei);if(i=3|i=6)this.addSeparator();this.add(tbi);,练习,练习:对以上工具栏上的按钮进行事件处理,并将工具栏加入到“Java Editor”项目中。,

    注意事项

    本文(第19讲JavaGUI菜单和工具栏.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开