java的容器

上传人:e****s 文档编号:1347899 上传时间:2017-06-08 格式:PPT 页数:24 大小:431KB
返回 下载 相关 举报
java的容器_第1页
第1页 / 共24页
java的容器_第2页
第2页 / 共24页
java的容器_第3页
第3页 / 共24页
java的容器_第4页
第4页 / 共24页
java的容器_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《java的容器》由会员分享,可在线阅读,更多相关《java的容器(24页珍藏版)》请在金锄头文库上搜索。

1、0,容器组件(Container),1,本节学习目标:,了解 AWT中容器的概念掌握Frame、Panel、Window和Dialog四种容器的使用方法。掌握 Frame、Window和Dialog三种容器的不同点。,2,什么是容器?,容器组件的主要作用是包容其他组件,并按照一定的方式组织排列他们。同一个容器中的所有组件通常总是同时被显示或同时被隐藏。 容器分为顶层容器和中间层容器,顶层容器,顶层容器是用来承载其它容器和基本组件的。有JFrame、JApplet、JDialog和Jwindow。在Java GUI应用程序设计中,要以一个顶层容器作为程序的窗口来容纳其他的GUI组件。,3,中间层

2、容器,有些Swing组件是专门用来盛装别的组件用的,这些只作为容纳别的组件的容器,是介于顶层容器与一般Swing组件之间的,所以叫中间层容器。中间层容器有JMenuBar、JOptionPane、JRootPane、JLayeredPane、JPanel、JInternalFrame、JScrollPane、JSplitPane、JTabbedPane、JToolBar 、JDeskTopPane、JViewPort、JEditorPane、JTextPane。,4,所有容器组件都是Container类的子类。在Container类中定义了容器所需要用到的属性及方法。 常用的方法有: add

3、(Component omp), setLayout(LayoutManager mgr)等。,5,6,JAVA中的常用容器组件:,1 面板(JPanel)2 框架(JFrame)3 对话框(JDialog )4 窗口(JWindow)5 滚动窗格(JScrollpane),7,一、 面板(Panel),Panel是一种最简单的容器类,它提供空间将其它的组件附在其上。可以在一个Panel上放入其它Panel。一个Frame里面可放入好几个Panel。Panel的好处就是可将相关的组件整合组织起来,让用户接口更为简洁清楚。,8,Panel面板程序举例:,见例题Mousevent1.java,9,

4、二、框架(Frame),Window类提供了用于窗口操作的基本功能。通常,用户使用Window类的子类Frame类和Dialog类。Frame类使用户可以创建带有菜单条的全功能窗口;Dialog类用于创建对话框。用户可以用下列构造方法创建框架:(1)new Frame(): 创建一个不带标题的框架(2)new Frame(String): 创建一个带有指定标题的框架。框架是容器,就像面板一样,用户可以用add()方法将其他组件加到该框架容器中。该容器的缺省布局是BorderLayout.,10,三、对话框(Dialog ),对话框用于短暂的窗口。如:提示警告或向用户询问特定信息的窗口等。对话框

5、没有标题条和菜单。用户可以决定对话框的尺寸是否能被改变。对话框分为有模式和无模式两种:有模式对话框在弹出后其它所有的窗口都被它屏蔽掉,用户只有对它响应之后才能进行其它的操作。无模式对话框在弹出后,用户可以不理会它而转到别的界面去操作。 AWT提供了两种对话框:Dialog类生成普通对话框;FileDialog类生成依赖于平台的,用于选择存储或打开文件的对话框。,11,Dialog(Frame) : 该方法创建依赖于Frame的无模式对话框.Dialog(Frame, boolean):该方法创建依赖于Frame的对话框,布尔值为真时为有模式对话框。Dialog(Frame, String):该

6、方法创建依赖于Frame的无模式对话框,并给定对话框的标题。Dialog(Frame, String, Boolean):该方法创建依赖于Frame的对话框,指出是否模式为对话框,并给定对话框的标题 。,1、Dialog类,12,先创建一个Frame:Frame F =new Frame(TEST);F.setSize(400,400);F.setVisible(true);创建一个属于特定Frame的对话框:Dialog d=new Dialog(F,TEst,true);d.setSize(200,200);d.setVisible(true);d.setLocation(200,300)

7、;,Dialog的应用举例:,13,(1)FileDialog(Frame, String):创建一个打开文件的对话框,此文件对话框附属于给定的框架,具有给定的标题。,(2)FileDialog(Frame, String, int):同上面的方法类似。整型参数用来决定此文件对话框是用来打开文件还是保存文件,可选择的类型参数为FileDialog.LOAD和FileDialog.SAVE。,注意:在创建对话框实例之后,用户必须用setVisible()方法将其显示出来: FileDialog fd=new FileDialog(frm, FileDialog);fd.setVisible();

8、,2、FileDialog类,14,四、窗口(Window),(1)Window类所有有边框容器的父类。它的边框是不可见的。,(2)Window窗口必须由一个Frame创建,并且依附于这个Frame而存在。,(3)Window类的构造函数:public Window(Framefrm);Frame f=new Frame(window test);Window w=new Window(f);w.add(new Label(this is a window);w.setSize(100,100);w.setBackground(Color.green);w.setLocation(200,30

9、0);w.setVisible(true);w.pack();,15,五、滚动窗格(Scrollpane),(1) Scrollpane 是一种带有滚动条的无边框容器。,(2)当Scrollpane容器容纳的组件比窗格大时,则可以通过滚动条查看整个内容。,(3)构造函数:public Scrollpane ();/在需要时显示滚动条public Scrollpane (intscrollbarDisplayPolicy );scrollbarDisplayPolicy 可以取以下三个值:SCROLLBARS_ALWAYS,SCROLLBARS_NEEDED,SCROLLBARS_NEVER,1

10、6,程序举例:,public static void main(String args)Frame f=new Frame(scrollpanel test);ScrollPane sp=new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);sp.add(new Label(I am a Label in the ScrollPane);f.add(sp);f.setSize(400,400);f.setVisible(true); ,注意:TextArea组件产生的是一个可以编辑的区域,而ScrollPane只是一个带有滚动条的容器。,17,Window、

11、 Frame、Dialog三种容器的总结:,(1)就层级结构来看,Window是Frame及Dialog的超类。也就是说Frame及Dialog也是一种Window。(2)Window没有边框、没有标题、没有菜单,也不能缩放大小,而且必须以一个frame或dialog作其拥有者。Window最适合用来展示需要浮在其它组件之上的无边矩形区域。(3)Frame有边,可设标题,上面也可放菜单,且可调整大小(最大和最小化)。Frame最合适用于需要有菜单的窗口。(4)Dialog有边,可设标题,也可调整大小,很像Frame。但与Frame不同的是它不能放菜单。(5) Window和Dialog要依附于

12、一个Frame而存在。,18,Window、 Frame、Dialog的实例:,19,网上的一个问题:,setContentPane()经常出现在应用程序里面,但是具体是干什么工作的我不知道 现在又看到了getContentPane().add()那么getContentPane()又是干什么工作的呢? 我还想知道,从哪里能找到有关所有java的类、方法等这些东西的功能解释的资料呢?(jdk的文档有各种类和方法的功能解释 ) 请指教,20,Swing中的 getContentPane()方法,在过去的J2SE版本中,部件(components)不能直接添加到最高级(top level)的Swi

13、ng容器,这些容器包括:JFrame, JDialog, JWindow, JApplet和JInternalFrame. 以往需要调用JFrame的getContentPane()方法。 aFrame.getContentPane().add(aComponent),21,Swing中的 getContentPane()方法,在J2SE5.0中,可以直接添加部件到最高级的Swing容器,也可以直接在容器内设置布局管理和删除部件。这个变化允许我们可以省去调用getContentPane()而直接在容器内应用add(),setLayout()和remove()。,22,Swing中的 getCo

14、ntentPane()方法,getContentPane() 是接口 RootPaneContainer的一个方法,JDialog、JFrame、JWindow、JApplet、JInternalFrame实现了接口 RootPaneContainer 定义如下: public Container getContentPane() return getRootPane().getContentPane(); 它返回的是一个Container 也就是说,是JDialog、JFrame、JWindow、JApplet、JInternalFrame中的一个,具体返回什么,要看用的是哪种 RootPaneContainer。,23,上机作业:,1 设计一个包含一个命令按钮的界面。当单击命令按钮后命令按钮消失,显示一行“单击了命令按钮!”的文字。设计一个包含一个标签和文本框的界面。3 设计一个密码登陆界面。输入正确的密码后显示一个图片,否则清空文本框,要求重新输入,给出三次输入密码的机会,如三次都输错,则自动结束程序的运行。界面设计如下图所示。单击”取消“命令按钮,退出程序的运行。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 物业管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号