java的容器.ppt

上传人:大张伟 文档编号:8914403 上传时间:2021-01-24 格式:PPT 页数:24 大小:266KB
返回 下载 相关 举报
java的容器.ppt_第1页
第1页 / 共24页
java的容器.ppt_第2页
第2页 / 共24页
java的容器.ppt_第3页
第3页 / 共24页
java的容器.ppt_第4页
第4页 / 共24页
java的容器.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

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

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

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

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

4、va,9,二、框架(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(Fr

6、ame, String):该方法创建依赖于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);

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

8、ialog); fd.setVisible();,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(Colo

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

10、SCROLLBARS_NEEDED, SCROLLBARS_NEVER,16,程序举例:,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组件产生的是一个

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

12、像Frame。但与Frame不同的是它不能放菜单。 (5) Window和Dialog要依附于一个Frame而存在。,18,Window、 Frame、Dialog的实例:,19,网上的一个问题:,setContentPane()经常出现在应用程序里面,但是具体是干什么工作的我不知道 现在又看到了getContentPane().add()那么getContentPane()又是干什么工作的呢? 我还想知道,从哪里能找到有关所有java的类、方法等这些东西的功能解释的资料呢?(jdk的文档有各种类和方法的功能解释 ) 请指教,20,Swing中的 getContentPane()方法,在过去的

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

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1