![j2-8对话框[1].ppt_第1页](http://file1.renrendoc.com/fileroot2/2020-1/14/3dd4cb30-22d5-495c-abc0-79a07d92ef29/3dd4cb30-22d5-495c-abc0-79a07d92ef291.gif)
![j2-8对话框[1].ppt_第2页](http://file1.renrendoc.com/fileroot2/2020-1/14/3dd4cb30-22d5-495c-abc0-79a07d92ef29/3dd4cb30-22d5-495c-abc0-79a07d92ef292.gif)
![j2-8对话框[1].ppt_第3页](http://file1.renrendoc.com/fileroot2/2020-1/14/3dd4cb30-22d5-495c-abc0-79a07d92ef29/3dd4cb30-22d5-495c-abc0-79a07d92ef293.gif)
![j2-8对话框[1].ppt_第4页](http://file1.renrendoc.com/fileroot2/2020-1/14/3dd4cb30-22d5-495c-abc0-79a07d92ef29/3dd4cb30-22d5-495c-abc0-79a07d92ef294.gif)
![j2-8对话框[1].ppt_第5页](http://file1.renrendoc.com/fileroot2/2020-1/14/3dd4cb30-22d5-495c-abc0-79a07d92ef29/3dd4cb30-22d5-495c-abc0-79a07d92ef295.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十章 Java的窗口、菜单、对话框 Java的AWT包提供三个显示窗口的组件:window,Frame 和Dialog。 10.1 Java窗口 AWT widnow 类允许用户创建包含applet的独立于浏览器窗口的“窗口”,即单独弹出的窗口。其具有自己的标题、尺寸以及菜单等。 但是Window类不能被直接使用,它只提供窗口的基本行为。通常由其子类Frame 和Dialog代替widnows 类。而且在Frame类中可以实现菜单功能。,Frame - 框架 Frame是一个完整的窗口类,它包括边界、标题和一个可选的菜单栏。框架的大小可以调整。 Frame 类的几个实例方法: (P165)
2、setBounds(int a,int b,int width,int height),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.*; impo
3、rt 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 voi
4、d 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(c
5、ount); 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 类 适配器可以代
6、替一个接口来处理事件。 当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) setBac
7、kground(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 ext
8、ends 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); /窗
9、口大小 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
10、=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); ,程序的构架,10 . 2 菜单 菜单系统,菜单类(Menu)的主要方法: Menu(): 建立 一个空标题的菜单 Menu(S
11、tring 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
12、 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(men
13、uB); /将其设置在Frame中,程序里使用了package myjava.tryFrame包语句 则目录结构里必须包含如下结构: myjavatryFrame 要把包含该语句的源文件保存在 myjavatryFrame目录中,然后编译源文件 例如, 文件名:uFrame.java 则应该有结构myjavatryFrameuFrame.java,public class uFrame extends Frame uFrame(String title) super(title); /调用超类的构造方法 MenuBar menuB=new MenuBar(); /先创建菜单条 setMenuB
14、ar(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(Sa
15、ve); 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(
16、) insets(); win=new uFrame (This is my Window); win.resize (200,150); win.show (); 执行结果见图,10 . 3 对话框 对话框功能类似于框架(frame),它在屏幕上弹出新的窗口,作为临时窗口用来显示或提示用户输入信息的弹出式窗口,实现用户与系统的交互操作。 其目的的让用户将注意力集中于所要求的输入上。 1、对话框与窗口的区别: 对话框依赖于其他窗口/组件 窗口/组件消失,对话框消失;窗口/组件恢复,对话框恢复 2、对话框有模式之分,模式意味着: 首先,它阻塞线程的执行; 其次,它阻塞其它窗口的输入操作。 3、对
17、话框无添加菜单功能,无模式对话框(non-modal):可以响应对话框以外的事件。 有模式对话框(modal):只让应用程序响应对话框内的事件。这类对话框是防止自身未消除以前,向applet或application的任何其他窗口输入。 默认情况下,对话框是无模式的。但是可以改变对话框的模式。 3、Dialog类主要提供了两个构造方法 Dialog(Frame f, String s) :创建一个具有标题,初始不可见的,属于某个窗口(Frame)的对话框。,Dialog(Frame, String, boolean):创建一个带标题的对话框。 其中布尔型的参数若为true则创建无模式对话框,允许
18、向其他窗口输入事件;若为false则创建有模式对话框。 例子: import java.awt.*; import java.applet.*; class Dwindow extends Frame Button b1,b2;,Dwindow(String s) super(s); b1=new Button(打开); b2=new Button(关闭); add(b1); add(b2); setVisible(true); class Mydialog extends Dialog /建立对话框 Button b1,b2;,Mydialog(Frame F, String s) /构造方法 super(F,s); b1=new Button(open); b2=new Button(close); setLayout(new FlowLayout(); setSize(90,90); setVisible(true); setModal(false); add(b1); a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Module 11 Unit 1 They touch noses!教学设计 2023-2024学年外研版英语七年级下册
- 六年级信息技术上册 废旧电池的危害与回收教学设计2 冀教版
- 制胜农业职业经理人考试的技巧与方法试题及答案
- 教育培训课程拍卖合同
- 花艺师考试冲刺计划试题及答案
- 全国人教版信息技术八年级上册第三单元第14课二、《在网站上发布SWF动画》教学设计
- 旅游导游临时雇佣协议
- 2024年三年级道德与法治下册 第一单元 我和我的同伴 3我很诚实教学设计 新人教版
- 美食英语测试题及答案大全
- 农艺师考试实际案例分享试题及答案
- 全球化背景下的中国外交政策试题及答案
- 食品安全管理制度打印版
- 建筑公司管理制度大全
- GB/T 45251-2025互联网金融个人网络消费信贷贷后催收风控指引
- 西交大政治考题及答案
- 铁路施工安全教育培训
- 第一届贵州技能大赛铜仁市选拔赛平面设计技术文件
- 2025年陕西农业发展集团有限公司(陕西省土地工程建设集团)招聘(200人)笔试参考题库附带答案详解
- 高血压患者收缩压TTR和强化降压对心血管事件的影响
- GB/T 6433-2025饲料中粗脂肪的测定
- 物业管理之工程管理
评论
0/150
提交评论