预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共27页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第十九JavaGUI编程高级一、给GUI应用程序添加菜单菜单概述菜单的创建和组织菜单的创建和组织(续)菜单的创建和组织(续)菜单项的事件处理二、“JavaEditor”项目的界面更新界面设计界面设计(续)程序实现: importjava.awt.*; importjava.awt.event.*; importjavax.swing.*; classNewEditorextendsJFrame{ JMenuBarmnb;//菜单栏 JMenufile,edit,config,help;//各菜单 JMenuItemNew,open,save,exit;//File下的菜单项 JMenuItemcopy,cut,paste,selectall;//Edit下的菜单项 JMenuItemfc,bc,dc;//Config下的菜单项 JMenuItemabout;//Help下的菜单项 JTextAreat; NewEditor(){ super("JavaEditor"); setDefaultCloseOperation(3); editInit(); this.add(newJScrollPane(t)); this.setJMenuBar(mnb); this.setBounds(200,200,600,400); this.setVisible(true); } privatevoideditInit(){ t=newJTextArea(); t.setLineWrap(true); file=newJMenu("File"); file.setMnemonic('F'); New=newJMenuItem("New"); open=newJMenuItem("Open"); save=newJMenuItem("Save"); exit=newJMenuItem("Exit"); file.add(New);file.add(open); file.addSeparator(); file.add(save); file.addSeparator(); file.add(exit); edit=newJMenu("Edit"); edit.setMnemonic('E'); copy=newJMenuItem("Copy"); paste=newJMenuItem("Paste"); cut=newJMenuItem("Cut");edit.add(cut);edit.add(copy);edit.add(paste); edit.addSeparator();edit.add(selectall); config=newJMenu("Config"); config.setMnemonic('C'); bc=newJMenuItem("BackColor"); fc=newJMenuItem("ForeColor"); dc=newJMenuItem("DefaultColor"); config.add(fc);config.add(bc); config.addSeparator(); config.add(dc); help=newJMenu("Help"); help.setMnemonic('H'); about=newJMenuItem("About"); help.add(about); mnb=newJMenuBar(); mnb.add(file);mnb.add(edit); mnb.add(config);mnb.add(help); } publicstaticvoidmain(String[]args){ newNewEditor(); } }三、为组件定制弹出式菜单问题的提出用JPopupMenu类建立弹出式菜单字体风格弹出式菜单的实现: importjava.awt.*; importjava.awt.event.*; importjavax.swing.*; importjavax.swing.border.BevelBorder; classFontPopupextendsJPopupMenuimplementsActionListener{ String[]item;Font[]font; JMenuItemmt;JTextAreat; FontPopup(JTextAreat){ this.t=t; this.setBorder(newBevelBorder(BevelBorder.RAISED));//设置立体边框 item=newString[]{"标准仿宋","粗放行楷","规矩新魏","精致宋体","灵感隶书"}; font=newFont[]{newFont("仿宋"