《使用菜单与工具栏.ppt》由会员分享,可在线阅读,更多相关《使用菜单与工具栏.ppt(23页珍藏版)》请在三一办公上搜索。
1、2.4 使用菜单与工具栏,主讲教师:董婷,一、知识能力目标,1掌握菜单的使用和设计;2掌握工具栏的使用和设计;3能编写带有菜单和工具栏的GUI程序,二、项目16 菜单控制字体和颜色,使用级联菜单控制字体和文字颜色,菜单JMenu,复选菜单项JCheckBoxMenuItem,菜单栏JMenuBar,菜单项JMenuItem,1.程序代码,/TestMenu.javaimport javax.swing.*;import java.awt.*;import.*;public class TestMenu extends JFrame implements ActionListenerJMenuB
2、ar 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 italicMenu
3、Item=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);fon
4、tmenu.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 arg
5、s)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.
6、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.setForegro
7、und(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.相
8、关知识菜单栏(JMenuBar),菜单(JMenu),菜单(JMenu),菜单项(JMenuItem),复选菜单项(JCheckBoxMenuItem),单选菜单项(JRadioButtonMenuItem),4级联菜单添加菜单项:为菜单JMenu添加一个JMenuItem级联的下级菜单:为菜单JMenu添加另一个JMenu,可以继续为这个下级菜单添加菜单项或更下一级的菜单中间级的菜单JMenu不能像菜单项JMenuItem一样接收鼠标的单击事件。7弹出式菜单(JPopupMenu)特别形式的Menu性质与Menu相同不固定在窗口的任何一个位置,由鼠标和系统判断决定JPopupMenu出现的位
9、置。,编写菜单,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,单选菜单项JRadioButto
10、nMenuItem,【应用拓展】,弹出式菜单示例如图,弹出式菜单JPopupMenu,三、项目17 带有工具栏的窗体,带有工具栏的窗体,工具栏JToolBar,JButton,工具栏.add(按钮),1.程序代码,/ToolBarTest.javaimport java.awt.*;import.*;import javax.swing.*;import.*;public class ToolBarTest extends JFrame implements ActionListenerJTextField tf=new JTextField();JToolBar tb=new JToolBa
11、r();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 JBut
12、ton(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(
13、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.addActionLis
14、tener(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
15、()=b1)/判断是否按下的按钮为新建 tf.setText(你按了新建按钮);else if(e.getSource()=b2)/判断是否按下的按钮为打开 tf.setText(你按了打开按钮);else if(e.getSource()=b3)/判断是否按下的按钮为保存 tf.setText(你按了保存按钮);else if(e.getSource()=b4)/判断是否按下的按钮为复制 tf.setText(你按了复制按钮);else tf.setText(你按了粘贴按钮);public static void main(String args)ToolBarTest example=new ToolBarTest();,2.相关知识 工具栏(JToolBar),