ImageVerifierCode 换一换
格式:PPT , 页数:32 ,大小:450.98KB ,
资源ID:2403915      下载积分:12 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2403915.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(第17章简易记事本——工具栏与菜单.ppt)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

第17章简易记事本——工具栏与菜单.ppt

1、第第1717章章 简易记事本简易记事本工具栏与菜单工具栏与菜单 能力目标:能力目标:学会使用工具栏、菜单栏和弹出(快捷)菜单。能运用工具栏、菜单、文件对话框和文件读写流等编写简易记事本程序。内容介绍17.1 任务预览17.2 JToolBar工具栏17.3 菜单17.4 JPopupMenu弹出菜单17.5 简易记事本17.6 本章小结17.7 实训17:简易记事本17.1 任务预览 本章实训程序运行结果:17.2 JToolBar工具栏 工具栏属于容器,一般安置在边框布局的窗框上部。程序运行后用鼠标把工具栏拖到左边、右边、下部或中部。工具栏类JToolBar的构造方法有4个:(1)JTool

2、Bar():构造一个工具栏,默认为HORIZONTAL水平方向。(2)JToolBar(int orientation):构造指定方向的工具栏。(3)JToolBar(String name):构造指定名称的工具栏。名称用作浮动式工具栏的标题。(4)JToolBar(String name,int orientation)JToolBar最常用方法:继承Container类的add(Componentadd(Component comp)comp)方法方法,添加按钮等组件到工具栏【例17-1】编程,在窗框的上部放工具栏,上面放3个带图标的按钮。窗框中部放置带滚动窗格的文本区。class Fra

3、me1 extends JFrame JToolBar toolBar=new JToolBar();ImageIcon iconCut=new ImageIcon(cut.gif);ImageIcon iconCopy=(copy.gif);ImageIcon iconPaste=(paste.gif);JButton buttonCut=new JButton(剪切,iconCut);JButton buttonCopy=(复制,iconCopy);JButton buttonPaste=(粘贴,iconPaste);JTextArea textArea=new JTextArea();J

4、ScrollPane scrollPane=new JScrollPane(textArea);public Frame1()this.setTitle(带工具栏的窗框);this.setBounds(100,200,240,220);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);initialize();this.setVisible(true);private void initialize()toolBar.add(buttonCut);this.add(toolBar,BorderLayout.NORTH);this.add(s

5、crollPane,BorderLayout.CENTER);public class Example1 public static void main(String args)new Frame1();17.3 菜单 菜单有两大类:菜单栏和弹出菜单。菜单栏JMenuBar:也叫主菜单,由若干个菜单“按钮”排成一行构成。单击菜单“按钮”JMenu,则会出现一个下拉菜单(列表)下拉菜单由多个菜单项(菜单命令)JMenuItem 组成。菜单和菜单项都可设置键盘助记符(Mnemonic),运行时可使用键盘组合键“Alt+助记符”激活或执行菜单。助记符带下划线显示。还可对菜单项设置快捷键(英文是Acc

6、elerator,故也叫“加速器”),例如“退出”菜单中的Ctrl+E。菜单栏、菜单和菜单项都是组件,每个组件都是类的对象。【例17-2】在例17-1程序基础上,增加菜单栏。class Frame2 extends Frame1 JMenuBar menuBar=new JMenuBar();JMenu menuFile=new JMenu(文件(F);JMenu menuEdit=new JMenu(编辑);JMenu menuHelp=new JMenu(帮助(H);JMenuItem menuItemFileNew=new JMenuItem(新建);JMenuItem menuItem

7、FileOpen=new JMenuItem(打开);JMenuItem menuItemFileSaveAs=new JMenuItem(另存为);JMenuItem menuItemFileExit=new JMenuItem(退出(X);JCheckBoxMenuItem checkBoxMenuItemEditAutoWrap=new JCheckBoxMenuItem(自动换行);JMenuItem menuItemEditCut=new JMenuItem(剪切);JMenuItem menuItemEditCopy=new JMenuItem(复制);JMenuItem menu

8、ItemEditPaste=new JMenuItem(粘贴);JMenuItem menuItemHelpAbout=new JMenuItem(关于(A);public Frame2()this.setTitle(带菜单栏的窗框);initialize();this.setVisible(true);private void initialize()menuFile.setMnemonic(KeyEvent.VK_F);/菜单助记符F键menuHelp.setMnemonic(KeyEvent.VK_H);menuItemFileExit.setMnemonic(KeyEvent.VK_X

9、);menuItemHelpAbout.setMnemonic(KeyEvent.VK_A);/设置“退出”菜单项加速器(即快捷键)Ctrl+E:menuItemFileExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,KeyEvent.CTRL_DOWN_MASK,true);menuFile.add(menuItemFileNew);/添加“文件”菜单项menuFile.add(menuItemFileOpen);menuFile.add(menuItemFileSaveAs);menuFile.addSeparator();

10、/添加菜单项分隔符menuFile.add(menuItemFileExit);menuEdit.add(checkBoxMenuItemEditAutoWrap);menuEdit.addSeparator();menuEdit.add(menuItemEditCut);menuEdit.add(menuItemEditCopy);menuEdit.add(menuItemEditPaste);menuHelp.add(menuItemHelpAbout);menuBar.add(menuFile);/添加菜单栏菜单 menuBar.add(menuEdit);menuBar.add(men

11、uHelp);this.setJMenuBar(menuBar);/窗框设置菜单栏/“退出”菜单项添加动作事件监听器:menuItemFileExit.addActionListener(new ActionListener()System.exit(0););17.3.1 JMenuBar菜单栏 菜单栏是由菜单组成的条状容器组件,上面可放多个菜单或菜单项。菜单栏类JMenuBar的常用方法:(1)JMenuBar():构造一个菜单栏。(2)JMenu add(JMenu c):在菜单栏中添加菜单。(3)Component add(Component comp,int index):这是从Co

12、ntainer类继承而来的方法,功能是将组件(菜单或菜单项等)添加到菜单栏指定的位置。索引位置从0开始,如果是-1,则添加到最后位置。17.3.2 JMenu菜单 菜单也是个容器,在上面放置菜单项或其它菜单。菜单栏上的菜单,运行时被选中,将出现“下拉菜单”。JMenu继承JMenuItem,即菜单是特殊的菜单项。JMenu的常用方法:(1)JMenu(String s):构造指定文本的菜单。(2)JMenuItem add(JMenuItem menuItem):添加菜单项。(3)JMenuItem insert(JMenuItem mi,int pos):插入菜单项。(4)void addS

13、eparator():在菜单中添加分隔符。分隔符是JSeparator类的组件,用于菜单或工具栏作分隔。(5)Component add(Component c):添加组件到菜单。在菜单menuFile中添加分隔符,有两种方法:menuFile.addSeparator();menuFile.add(new JSeparator();(6)void remove(JMenuItem item)(7)void remove(int pos)(8)void setMnemonic(int mnemonic):在菜单中设置键盘助记符。键盘助记符是键盘事件类KeyEvent的静态常量字段,有VK_0、

14、VK_1、VK_9、VK_A、VK_B、VK_Z等,用于表示键盘上的按键。设置了键盘助记符的菜单,程序运行时按Alt加上对应的按键激活。设置了助记符的菜单,在菜单的文本中可放置助记符字符,例如“文件(F)”,程序运行时,助记符“F”加下划线显示。注意:KeyEvent常量字段中的VK表示“虚拟键”,这是与平台无关的一种按键表示法。虚拟键的作用是报告按下了键盘上的哪个键。17.3.3 JMenuItem菜单项 菜单项是菜单列表中的菜单命令。JMenuItem常用方法:(1)JMenuItem(String text)(2)JMenuItem(Icon icon):构造带指定图标的菜单项。(3)J

15、MenuItem(String text,Icon icon)(4)JMenuItem(String text,int mnemonic):构造带文本和助记符的菜单项。菜单项与菜单一样,可以指定键盘助记符。菜单项还可设置键盘快捷键,通常以“Ctrl+按键”形式执行。(5)void setAccelerator(KeyStroke keyStroke):设置加速器(快捷键),运行时不必显示菜单的层次结构,能直接执行菜单项。参数是键击类KeyStroke,该类只能使用静态方法getKeyStroke产生对象。如:menuItemFileExit.setAccelerator(KeyStroke.g

16、etKeyStroke(KeyEvent.VK_E,KeyEvent.CTRL_DOWN_MASK,true);KeyStroke类的getKeyStroke方法有3个参数,第一个表示X键,第二个表示Ctrl键,第三个参数true表示按键释放的情况下执行。6)void addActionListener(ActionListener llstener):添加动作事件监听器。17.4 JPopupMenu弹出菜单 弹出菜单(快捷菜单):也由多个 菜单项组成。弹出菜单与组件密切相关,不同组件弹出菜单一般相同。弹出菜单必须编写鼠标事件代码。要执行菜单项操作,还有添加菜单项的动作事件监听器。【例17-

17、3】在例17-2程序基础上,增加文本区的弹出菜单。class Frame3 extends Frame2 /继承例17-2的Frame2JPopupMenu popupMenu=new JPopupMenu();JMenuItem popupMenuItemCut=new JMenuItem(剪切);JMenuItem popupMenuItemCopy=new JMenuItem(复制);JMenuItem popupMenuItemPaste=new JMenuItem(粘贴);public Frame3()this.setTitle(增加了弹出菜单);initialize();this.

18、setVisible(true);private void initialize()popupMenu.add(popupMenuItemCut);popupMenu.add(popupMenuItemCopy);popupMenu.add(popupMenuItemPaste);/文本区添加鼠标事件监听器:textArea.addMouseListener(new MouseAdapter()public void mouseReleased(MouseEvent e)if(e.isPopupTrigger()popupMenu.show(textArea,e.getX(),e.getY()

19、;);JPopupMenu常用方法(1)JPopupMenu()(2)JMenuItem add(JMenuItem menuItem)(3)void insert(Component component,int index)(4)void addSeparator()(5)void remove(int pos):移除指定索引位置的组件。(6)void show(Component invoker,int x,int y):在组件调用者的坐标空间中显示弹出菜单。如:popupMenu.show(textArea,e.getX(),e.getY();其中e为鼠标事件对象,e.getX()、e.

20、getY()方法返回鼠标事件的x、y坐标。注:无论下拉菜单还是弹出菜单,均允许出现多层(多级)菜单。17.5 简易记事本【例17-4】在例17-3程序基础上,编写菜单项和工具栏按钮的动作事件处理代码,完成简易记事本的功能。import javax.swing.*;import java.awt.event.*;import java.io.*;import javax.swing.filechooser.FileNameExtensionFilter;class Frame4 extends Frame3 /继承例17-3的Frame3JFileChooser fileChooser=new

21、JFileChooser();FileNameExtensionFilter fileFilter=new FileNameExtensionFilter(文本文件,txt);/文件扩展名过滤器File file;public Frame4()this.setTitle(简易记事本);this.setBounds(100,200,350,300);initialize();this.setVisible(true);private void initialize()/工具栏按钮添加动作事件监听(处理)器:buttonCut.addActionListener(new ActionHandler

22、();buttonCopy.addActionListener(new ActionHandler();buttonPaste.addActionListener(new ActionHandler();/菜单项添加动作事件监听(处理)器:menuItemFileNew.addActionListener(new ActionHandler();menuItemFileOpen.addActionListener();/弹出菜单项添加动作事件监听(处理)器:popupMenuItemCut.addActionListener(new ActionHandler();popupMenuItemC

23、opy.addActionListener();popupMenuItemPaste.addActionListener();fileChooser.setFileFilter(fileFilter);/文件对话框扩展名过滤/菜单项和按钮的动作事件监听处理类(内部类):class ActionHandler implements ActionListener public void actionPerformed(ActionEvent e)if(e.getSource()=buttonCut|e.getSource()=menuItemEditCut|e.getSource()=popupM

24、enuItemCut)textArea.cut();else if(e.getSource()=buttonCopy|)textArea.copy();else if(e.getSource()=menuItemFileNew)newFile();/调用新建文件方法 else if(e.getSource()=menuItemFileOpen)openFile();/调用打开文件方法 else if(e.getSource()=menuItemFileSaveAs)saveAsFile();/调用保存文件方法 else if(e.getSource()=checkBoxMenuItemEdit

25、AutoWrap)if(checkBoxMenuItemEditAutoWrap.isSelected()textArea.setLineWrap(true);/设置文本区自动换行 else textArea.setLineWrap(false);/取消文本区自动换行 else if(e.getSource()=menuItemHelpAbout)JOptionPane.showMessageDialog(null,“程序设计);void newFile()/新建文件方法if(!textArea.getText().equals()saveFile();/调用保存文件方法textArea.se

26、tText(null);/清空文本区file=null;this.setTitle(简易记事本);void openFile()/打开文件方法 if(!textArea.getText().equals()saveFile();/调用保存文件方法 int returnVal=fileChooser.showOpenDialog(this);if(returnVal=JFileChooser.APPROVE_OPTION)file=fileChooser.getSelectedFile();try FileReader fileReader=new FileReader(file);textAr

27、ea.read(fileReader,null);this.setTitle(file.getName()+简易记事本);fileReader.close();/关闭流 catch(IOException e)JOptionPane.showMessageDialog(this,异常:“);void saveFile()/保存文件方法 if(file!=null&file.exists()/若文件已打开(存在)try FileWriter fileWriter=new FileWriter(file);textArea.write(fileWriter);fileWriter.close();

28、/关闭流catch(IOException e)JOptionPane.showMessageDialog(this,异常:“);else saveAsFile();/调用另存为文件方法 void saveAsFile()/另存为文件方法 int returnVal=fileChooser.showSaveDialog(this);if(returnVal=JFileChooser.APPROVE_OPTION)file=fileChooser.getSelectedFile();try FileWriter fileWriter=new FileWriter(file);textArea.w

29、rite(fileWriter);this.setTitle(file.getName()+简易记事本);fileWriter.close();catch(IOException e)JOptionPane.showMessageDialog(this,异常:“);public class Example4 /主类public static void main(String args)new Frame4();17.6 本章小结 工具栏是条状的容器,上面放置按钮等组件。工具栏一般放置在窗框(窗口)上部、菜单栏之下。菜单分为主菜单和弹出菜单。主菜单就是菜单栏,上面放置若干个菜单(JMenu对象)

30、。菜单中又放置若干个菜单项(菜单命令),运行时单击菜单,会出现下拉菜单项列表,因此也称下拉菜单。弹出菜单又叫快捷菜单,是在组件上面按下再释放鼠标所弹出的菜单,因此与组件和鼠标操作关联。弹出菜单中也要放置若干个菜单项。不管下拉还是弹出菜单,都包含菜单项。必须编写每个菜单项的事件处理代码(通常是动作事件代码),运行时才能单击菜单项执行相关操作。17.7 实训17:简易记事本(1)编写简易记事本程序。要求使用两个类:一个是主界面窗框类,另一个入口主类。程序功能:在窗框中部的文本区里输入和编辑文本,其中剪切、复制和粘贴文本既可使用编辑菜单,也可使用工具栏按钮和快捷菜单。通过执行菜单,能使用文件对话框打开和保存文件。(2)(选做)在JBuilder开发环境编写简易记事本程序。谢谢!返回目录返回目录 结束放映结束放映

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服