好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

java的容器.ppt

24页
  • 卖家[上传人]:e****s
  • 文档编号:1347899
  • 上传时间:2017-06-08
  • 文档格式:PPT
  • 文档大小:431KB
  • / 24 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 0,容器组件(Container),1,本节学习目标:,了解 AWT中容器的概念掌握Frame、Panel、Window和Dialog四种容器的使用方法掌握 Frame、Window和Dialog三种容器的不同点2,什么是容器?,容器组件的主要作用是包容其他组件,并按照一定的方式组织排列他们同一个容器中的所有组件通常总是同时被显示或同时被隐藏 容器分为顶层容器和中间层容器,顶层容器,顶层容器是用来承载其它容器和基本组件的有JFrame、JApplet、JDialog和Jwindow在Java GUI应用程序设计中,要以一个顶层容器作为程序的窗口来容纳其他的GUI组件3,中间层容器,有些Swing组件是专门用来盛装别的组件用的,这些只作为容纳别的组件的容器,是介于顶层容器与一般Swing组件之间的,所以叫中间层容器中间层容器有JMenuBar、JOptionPane、JRootPane、JLayeredPane、JPanel、JInternalFrame、JScrollPane、JSplitPane、JTabbedPane、JToolBar 、JDeskTopPane、JViewPort、JEditorPane、JTextPane。

      4,,所有容器组件都是Container类的子类在Container类中定义了容器所需要用到的属性及方法 常用的方法有: add (Component omp), setLayout(LayoutManager mgr)等5,6,JAVA中的常用容器组件:,1 面板(JPanel)2 框架(JFrame)3 对话框(JDialog )4 窗口(JWindow)5 滚动窗格(JScrollpane),7,一、 面板(Panel),Panel是一种最简单的容器类,它提供空间将其它的组件附在其上可以在一个Panel上放入其它Panel一个Frame里面可放入好几个PanelPanel的好处就是可将相关的组件整合组织起来,让用户接口更为简洁清楚8,Panel面板程序举例:,见例题Mousevent1.java,9,二、框架(Frame),Window类提供了用于窗口操作的基本功能通常,用户使用Window类的子类Frame类和Dialog类Frame类使用户可以创建带有菜单条的全功能窗口;Dialog类用于创建对话框用户可以用下列构造方法创建框架:(1)new Frame(): 创建一个不带标题的框架(2)new Frame(String): 创建一个带有指定标题的框架。

      框架是容器,就像面板一样,用户可以用add()方法将其他组件加到该框架容器中该容器的缺省布局是BorderLayout.,10,三、对话框(Dialog ),对话框用于短暂的窗口如:提示警告或向用户询问特定信息的窗口等对话框没有标题条和菜单用户可以决定对话框的尺寸是否能被改变对话框分为有模式和无模式两种:有模式对话框在弹出后其它所有的窗口都被它屏蔽掉,用户只有对它响应之后才能进行其它的操作无模式对话框在弹出后,用户可以不理会它而转到别的界面去操作 AWT提供了两种对话框:Dialog类生成普通对话框;FileDialog类生成依赖于平台的,用于选择存储或打开文件的对话框11,Dialog(Frame) : 该方法创建依赖于Frame的无模式对话框.Dialog(Frame, boolean):该方法创建依赖于Frame的对话框,布尔值为真时为有模式对话框Dialog(Frame, 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); 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, "FileDialog"); 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(Color.green); w.setLocation(200,300); w.setVisible(true); w.pack();,15,五、滚动窗格(Scrollpane),(1) Scrollpane 是一种带有滚动条的无边框容器2)当Scrollpane容器容纳的组件比窗格大时,则可以通过滚动条查看整个内容3)构造函数: public Scrollpane ();//在需要时显示滚动条 public Scrollpane (int scrollbarDisplayPolicy ); scrollbarDisplayPolicy 可以取以下三个值: SCROLLBARS_ALWAYS,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组件产生的是一个可以编辑的区域,而ScrollPane只是一个带有滚动条的容器。

      17,Window、 Frame、Dialog三种容器的总结:,(1)就层级结构来看,Window是Frame及Dialog的超类也就是说Frame及Dialog也是一种Window2)Window没有边框、没有标题、没有菜单,也不能缩放大小,而且必须以一个frame或dialog作其拥有者Window最适合用来展示需要浮在其它组件之上的无边矩形区域3)Frame有边,可设标题,上面也可放菜单,且可调整大小(最大和最小化)Frame最合适用于需要有菜单的窗口4)Dialog有边,可设标题,也可调整大小,很像Frame但与Frame不同的是它不能放菜单5) Window和Dialog要依附于一个Frame而存在18,Window、 Frame、Dialog的实例:,,,,19,网上的一个问题:,setContentPane()经常出现在应用程序里面,但是具体是干什么工作的我不知道     现在又看到了getContentPane().add()那么getContentPane()又是干什么工作的呢?     我还想知道,从哪里能找到有关所有java的类、方法等这些东西的功能解释的资料呢?(jdk的文档有各种类和方法的功能解释 )     请指教,20,Swing中的 getContentPane()方法,在过去的J2SE版本中,部件(components)不能直接添加到最高级(top level)的Swing容器,这些容器包括:JFrame, JDialog, JWindow, JApplet和JInternalFrame. 以往需要调用JFrame的getContentPane()方法。

      aFrame.getContentPane().add(aComponent),21,Swing中的 getContentPane()方法,在J2SE5.0中,可以直接添加部件到最高级的Swing容器,也可以直接在容器内设置布局管理和删除部件这个变化允许我们可以省去调用getContentPane()而直接在容器内应用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 设计一个密码登陆界面输入正确的密码后显示一个图片,否则清空文本框,要求重新输入,给出三次输入密码的机会,如三次都输错,则自动结束程序的运行界面设计如下图所示单击”取消“命令按钮,退出程序的运行。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.