欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

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

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

    加入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)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

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




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开