(精品)j2-8对话框[1]

上传人:痛*** 文档编号:244719031 上传时间:2024-10-05 格式:PPT 页数:30 大小:191.50KB
返回 下载 相关 举报
(精品)j2-8对话框[1]_第1页
第1页 / 共30页
(精品)j2-8对话框[1]_第2页
第2页 / 共30页
(精品)j2-8对话框[1]_第3页
第3页 / 共30页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第十章,Java,的窗口、菜单、对话框,Java,的,AWT,包提供三个显示窗口的组件:,window,Frame,和,Dialog。,10.1 Java,窗口,AWT,widnow,类,允许用户创建包含,applet,的独立于浏览器窗口的“窗口”,即单独弹出的窗口。其具有自己的标题、尺寸以及菜单等。,但是,Window,类不能被直接使用,它只提供窗口的基本行为。通常由其子类,Frame,和,Dialog,代替,widnows,类。而且在,Frame,类中可以实现菜单功能。,Frame-,框架,Frame,是一个完整的窗口类,它包括边界、标题和一个可选的菜单栏。框架的大小可以调整。,Frame,类的几个实例方法:(,P165,),setBounds(int,a,int,b,int,width,int,height),Container,Windows,Frame,Dialog,setSize(int,a,int,b),setBackground(Color,c),setVisible(boolean,b),validate(),setTitle(String,name),getTitle,(),setResizable(boolean,b),getMenuBar,():,返回一个,MenuBar,setMenuBar(MenuBar,),下面这个例子是,Frame,的简单应用的例子。通过单击,Applet,中的一个按钮来创建,Frame,框架,import,java.applet,.*;,import,java.awt,.*;,import,java.awt.event,.*;,public class Applet2 extends Applet,public void init(),setBackground(Color.lightGray,);,Button,newFrame,=new,Button(Creat,Frame);,add(newFrame,);,newFrame.addActionListener(,new,ButtonListener,(),);,class,ButtonListener,implements,ActionListener,int,count;,public void,actionPerformed(ActionEvent,e),Frame f=new Frame();,Button close=new Button(Close this Frame);,close.addActionListener(,new,CloseListener,(),);,f.add(close);,f.addWindowListener(,new,WListener,(),);,f.validate();,f.setTitle(Frame+Integer.toString(count,);,f.show();,showStatus(CreatFrame+Integer.toString(count,);,count+;,class,CloseListener,implements,ActionListener,public void,actionPerformed(ActionEvent,e),(,Frame)(Button)e.getSource().getParent().dispose,();,class,WListener,extends,WindowAdapter,/,适配器,P173,public void,windowClosing(WindowEvent,e),(,Frame)e.getSource().dispose,();,WindowAdapter,类,适配器可以代替一个接口来处理事件。,当,java,提供处理事件的接口多于一个方法时,,java,相应地就提供一个适配器类。适配器已经实现了相应的接口。因而可以用,WindowAdapter,的子类创建的对象做监视器。在子类中,overridding,所需要的,接口方法即可。,例如:文件名,Mywindow.java,,,本程序说明了如何应用,Frame,类,import,java.awt,.*;,import,java.awt.event,.*;,class,mycanvas,extends Canvas /,画布类,mycanvas,(),getSize,();,public void,paint(Graphics,g),setBackground(Color.cyan,);,g.setColor(Color.red,);,g.drawString(i,am drawing on the canvas of the window,50,60);,public Dimension,getPreferredsize,(),return new Dimension(200,400);,class,mywindowListener,extends,WindowAdapter,/,适配器,public void,windowClosing(WindowEvent,e),System.exit(0);,class,Mywindow,extends Frame implements,ActionListener,Button,button;static Label lab;,Mywindow(String,s)/,构造方法,super(s,);/,调用父类的构造方法给窗口起名,mywindowListener,wl,=new,mywindowListener,();,button=new,Button(Im,the button);,button.addActionListener(this,);,setLayout(new,GridLayout(2,2);/,布局,add(button,);,setSize(200,300);/,窗口大小,setBackground(Color.blue,);/,窗口底色,addWindowListener(wl,);,setVisible(true,);/,窗口初始可见,pack();/,以紧凑方式显示窗口,public void,actionPerformed(ActionEvent,e),if(,e.getSource,()=button),lab.setText(The,button is clicked!);,public static void main(String,args,),Mywindow,w=new,Mywindow,(Java window);,String title=,w.getTitle,();,System.out.println(The,window+title+is the window that we establish in the java application);,mycanvas,can=new,mycanvas,();,w.add(can);,Font f=new Font(TimesRoman,Font.BOLD,46);,lab=new Label(I am a,lable,);,w.add(lab);,c,anvas,class,mywindowListener,extends,WindowAdapter,class,Mywindow,extends Frame,Mywindow,构造方法,actionPerformed,main,程序的构架,10.2,菜单,菜单系统,菜单系统,一般菜单,可撕下菜单,帮助菜单,类MenuBar,选项,#1,菜单中的菜单,选项,#3,选项,#4,选项,#1,选项,#2,第三层菜单,选项,#3,选项,#1,选项,#2,类Menu,类MenuItem,选项,#2,菜单容器,非菜单容器,菜单类,(,Menu),的主要方法:,Menu():,建立 一个空标题的菜单,Menu(String s):,建立 一个指定标题的菜单,add(MenuItem,item):,向,菜单增加由参数,item,指定的菜单选项对象,getItem(int,n):,得到指定索引处的选项,getItemCount,():,得到菜单选项数目,insert(MenuItem,item,int,n):,在菜单指定位置插入菜单选项,remove(int,n):,删除菜单的指定位置的菜单选项,removeAll,():,删除菜单的所有选项,菜单项类,(,MenuItem,),的主要方法:,MenuItem,():,建立无标题菜单项,MenuItem,(String s):,建立有标题的菜单项,setEnable(boolean,b):,设置当前菜单项是否可以被选择,getLabel,():,得到菜单项的名字,addActionListener(ActionListener,),本例说明可以将单独的一个类进行编译,然后供其他类使用。,P58,文件名:,uFrame.java,package,myjava.tryFrame,;,import java.,awt,.*;,public class,uFrame,extends Frame,uFrame(String,title),super(title);/,调用超类的构造方法,MenuBar,menuB,=new,MenuBar,();,/,先创建菜单条,setMenuBar(menuB,);/,将其设置在,Frame,中,程序里使用了,package,myjava.tryFrame,包语句,则目录结构里必须包含如下结构:,myjavatryFrame,要把包含该语句的源文件保存在,myjavatryFrame,目录中,然后编译源文件,例如,,文件名:,uFrame.java,则应该有结构,myjavatryFrameuFrame.java,public class,uFrame,extends Frame,uFrame(String,title),super(title,);/,调用超类的构造方法,MenuBar,menuB,=new,MenuBar,();/,先创建菜单条,setMenuBar(menuB,);/,将其设置在,Frame,中,Menu mF=new Menu(“File”);/,创建,Menu,menuB.add,(mF);/,将其添加到菜单条上,mF.add,(new,MenuItem(“Open,”);,/,再为菜单添加菜单项,Menu sub=new Menu(Connect);,mF.add,(sub);,sub.add(new,MenuItem(Oracle,);,sub.add(new,MenuItem(Sybase,);,sub.add(new,MenuItem(SQL,);,/,以上三项是,sub,菜单项的子菜单,mF.add(new,MenuItem(Save,);,mF.add(new,MenuItem,(-);,mF.add(new,MenuItem(Exit,);,/,以上三项是与“,Open”,和“,Connect”,菜单项并列的菜单项,下面是使用包,”,myjava.tryFrame,”,的类,import java.,awt,.*;,import,myjava.tryFrame,.*;,public class,UseFrame,extends java.applet.Applet,uFrame,win;,public Insets insets(),return new Insets(10,10,10,10);,public void init(),insets();,win=new,uFrame,(This is my Window);,win.resize(200,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!