《使用菜单与工具栏》PPT课件.ppt_第1页
《使用菜单与工具栏》PPT课件.ppt_第2页
《使用菜单与工具栏》PPT课件.ppt_第3页
《使用菜单与工具栏》PPT课件.ppt_第4页
《使用菜单与工具栏》PPT课件.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2.4 使用菜单与工具栏,主讲教师:董婷,一、知识能力目标,1掌握菜单的使用和设计; 2掌握工具栏的使用和设计; 3能编写带有菜单和工具栏的GUI程序,二、项目16 菜单控制字体和颜色,使用级联菜单控制字体和文字颜色,菜单 JMenu,复选菜单项 JCheckBoxMenuItem,菜单栏 JMenuBar,菜单项 JMenuItem,1.程序代码,/TestMenu.java import javax.swing.*; import java.awt.*; import java.awt.event.*; public class TestMenu extends JFrame implements ActionListener JMenuBar jmb=new JMenuBar(); JMenu fontmenu=new JMenu(“字体“); JMenu helpmenu=new JMenu(“帮助“); JMenu stylemenu=new JMenu(“样式“); JMenu colormenu=new JMenu(“颜色“); JMenuItem exitmenu=new JMenuItem(“退出“); JMenuItem aboutmenu=new JMenuItem(“关于“); JCheckBoxMenuItem boldMenuItem=new JCheckBoxMenuItem(“粗体“); JCheckBoxMenuItem italicMenuItem=new JCheckBoxMenuItem(“斜体“); JMenuItem redmenu=new JMenuItem(“红色“);,JMenuItem bluemenu=new JMenuItem(“蓝色“); JMenuItem greenmenu=new JMenuItem(“绿色“); JTextArea textDemo=new JTextArea(“示例文字“); int bold,italic; public TestMenu() this.setJMenuBar(jmb); jmb.add(fontmenu); jmb.add(helpmenu); fontmenu.add(stylemenu); fontmenu.add(colormenu); fontmenu.addSeparator();/添加分隔线 fontmenu.add(exitmenu); helpmenu.add(aboutmenu); stylemenu.add(boldMenuItem); stylemenu.add(italicMenuItem); colormenu.add(redmenu); colormenu.add(bluemenu); colormenu.add(greenmenu); this.getContentPane().add(textDemo);,public static void main(String args) TestMenu frame=new TestMenu(); frame.regListener(); frame.setTitle(“菜单控制字体和颜色“); frame.setSize(320,280); frame.show(); public void regListener()/为菜单注册监听器 italicMenuItem.addActionListener(this); boldMenuItem.addActionListener(this); redmenu.addActionListener(this); bluemenu.addActionListener(this); greenmenu.addActionListener(this); exitmenu.addActionListener(this); ,public void actionPerformed(ActionEvent e) if(e.getActionCommand().equals(“红色“) textDemo.setForeground(Color.red); else if(e.getActionCommand().equals(“蓝色“) textDemo.setForeground(Color.blue); else if(e.getActionCommand().equals(“绿色“) textDemo.setForeground(Color.green); if(e.getActionCommand().equals(“粗体“) bold=(boldMenuItem.isSelected()?Font.BOLD:Font.PLAIN); if(e.getActionCommand().equals(“斜体“) italic=(italicMenuItem.isSelected()?Font.ITALIC:Font.PLAIN); textDemo.setFont(new Font(“Serif“,bold+italic,14); if(e.getActionCommand().equals(“退出“) System.exit(0); ,2.相关知识 菜单栏(JMenuBar),菜单(JMenu),菜单(JMenu),菜单项(JMenuItem),复选菜单项(JCheckBoxMenuItem),单选菜单项(JRadioButtonMenuItem),4级联菜单 添加菜单项:为菜单JMenu添加一个JMenuItem 级联的下级菜单:为菜单JMenu添加另一个JMenu, 可以继续为这个下级菜单添加菜单项或更下一级的菜单 中间级的菜单JMenu不能像菜单项JMenuItem一样接收鼠标的单击事件。 7弹出式菜单(JPopupMenu) 特别形式的Menu 性质与Menu相同 不固定在窗口的任何一个位置,由鼠标和系统判断决定JPopupMenu出现的位置。,编写菜单,JMenuBar mB=new JMenuBar();/定义菜单栏,JMenu m=new JMenu (“”);/定义菜单,JMenuItem mI=new JMenuItem (“”); /定义菜单项,mB.add(m);/将菜单添加到菜单栏,m.add(mI);/将菜单项添加到菜单,注意: 菜单栏.add(菜单); 菜单.add(菜单项); 将菜单栏添加到窗口的方法 窗口对象.setJMenuBar(菜单栏),窗口,菜单栏JMenuBar,菜单JMenu,菜单JMenu,级联菜单,菜单项JMenuItem,复选菜单项JCheckBoxMenuItem,单选菜单项JRadioButtonMenuItem,【应用拓展】,弹出式菜单示例如图,弹出式菜单 JPopupMenu,三、项目17 带有工具栏的窗体,带有工具栏的窗体,工具栏 JToolBar,JButton,工具栏.add(按钮),1.程序代码,/ToolBarTest.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class ToolBarTest extends JFrame implements ActionListener JTextField tf=new JTextField(); JToolBar tb=new JToolBar(); JButton b1, b2, b3, b4, b5,b6; ToolBarTest() super(“工具栏演示“); creatToolbar(); /创建工具栏 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(300, 200); setVisible(true); ,void creatToolbar() b1=new JButton(new ImageIcon(“new.Gif“); b1.setToolTipText(“新建“); /设置提示文字 b1.setRequestFocusEnabled(false); /设置不能获得焦点 b2=new JButton(new ImageIcon(“open.Gif“); b2.setToolTipText(“打开“); b2.setRequestFocusEnabled(false); b3=new JButton(new ImageIcon(“save.Gif“); b3.setToolTipText(“保存“); b3.setRequestFocusEnabled(false); b4=new JButton(new ImageIcon(“copy.Gif“); b4.setToolTipText(“复制“); b4.setRequestFocusEnabled(false); b5=new JButton(new ImageIcon(“paste.Gif“); b5.setToolTipText(“粘贴“); b5.setRequestFocusEnabled(false); b6=new JButton(“退出“);,tb.add(b1); tb.add(b2); tb.add(b3); tb.addSeparator(); /添加分隔线 tb.add(b4); tb.add(b5); tb.add(b6); tb.setRollover(true); /设置转滚效果 b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this); b5.addActionListener(this); b6.addActionListener(this); this.getContentPane().add(tb,“North“); /将工具栏添国到内容窗格 this.getContentPane().add(tf,“South“); tb.setFloatable(true); /设置工具栏为可移动 ,public void actionPerformed(ActionEvent e) if(e.getActionCommand()=“退出“) /判断是否按下的按钮为退出 System.exit(0); else if(e.getSource()=b1) /判断是否按下的按钮为新建 tf.setText(“你按了新建按钮“); else if(e.getSource()=b2) /判断是否按下的按钮为打开 tf.setText(“你按了打开按钮“); else if(e.ge

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论