




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章 图形用户界面,图形用户界面(Graphical User Interface)简称GUI,提供了一种更加直观、友好的与用户进行交互的方式。利用Java语言进行图形用户界面操作主要由java.awt和javax.swing两个包来完成。其中,AWT包是图形用户界面处理的基本工具包,Swing包在AWT包的基础上进行了升级、扩展,具有更加强大的图形界面开发功能。,10.1 图形界面基础AWT,AWT是抽象窗口工具箱的简称,包括了图形界面编程的基本类库。其作为Java语言GUI程序设计的核心,作用是给用户提供基本的界面构件。这些构件可以用来建立图形用户界面的独立平台,从而使得用户和机器之间更好地进行交互。AWT包的内容主要分为如下四部分。 容器:用于放置基本组件,其本身也是一种组件。 布局管理器:对容器中放置的组件进行布局管理。 事件处理:采用事件处理机制,使得用户能够通过图形界面与系统进行交互。 基本组件:包括按钮、标签、文本域等,是图形界面的基本组成元素。,10.1 图形界面基础AWT,通过综合使用AWT包的这些内容,即可构建出与用户能够友好交互的各种图形界面。这几部分内容在AWT包中都是以类或者接口的形式体现。各种类或接口通过面向对象的思想有机组织在一起,构成了一个层次结构的包。 在AWT包的层次结构中,event对应着事件处理的相关内容;Componet为组件的基类,包括基本组件(如Button、Label、Checkbox等)和容器Container类两种;以Layout为结尾的FlowLayout、BorderLayout等为布局管理器类。另外还有其他的一些辅助类。对于这些内容,下面章节进行详细介绍。,10.2 界面容器,容器是用来存放其他组件的一种特殊组件。在Java语言中,所有容器类都是Container类的子类。Container类继承了Component类,该类的两个常用子类是Frame和Panel类。Frame和Panel类代表两种不同类型的容器,下面分别进行介绍。,10.2.1 框架窗口类Frame,Frame类容器是一种带有边框的框架窗口,可以不依赖于其他组件独立存在。Frame类继承了Window类,可以带标题、设置大小等。Frame类中定义了许多操作容器的方法,如下所示。 Image getIconImage():获取此frame显示在最小化图标中的图像。 Rectangle getMaximizedBounds():获取此frame的最大化边界。 MenuBar getMenuBar():获取此frame的菜单栏。 String getTitle():获得frame的标题。 boolean isResizable():指示此frame是否可由用户调整大小。 void remove(MenuComponent m):从此frame移除指定的菜单栏。 void setIconImage(Image image):设置此frame要显示在最小化图标中的图像。 注意:Frame容器创建后默认是不可见的,需要调用setVisible()方法将其设置为可见。,10.2.2 区域类Panel,Panel类容器没有任何边框,而且需要存在于其他容器中。该类容器只是包含在其他容器中的一个区域,通常用来将许多组件组合在一个区域内。Panel类中定义的方法,如下所示。 Panel():构造方法,使用默认的布局管理器创建新面板。 Panel(LayoutManager layout):构造方法,创建具有指定布局管理器的新面板。 void addNotify():创建Panel的同位体。 AccessibleContext getAccessibleContext():获取与Panel相关的AccessibleContext。,10.3 布局管理器,布局管理器用于布局容器中的组件,包括设定组件的位置和尺寸大小等。每个容器被创建后,都会有一个默认布局管理器。另外,可以设置指定的布局管理器对组件进行管理。Java语言的AWT包提供了不同类别的布局管理器,包括BorderLayout、FlowLayout、CardLayout等,下面分别进行介绍。,10.3.1 默认管理器BorderLayout,BorderLayout布局管理器将容器划分为东(East)、西(West)、南(South)、北(North)、中(Center)五个区域。它是Frame类的默认布局管理器。采用BorderLayout布局时,向容器中添加组件需要指定组件所在的区域。BorderLayout类的构造方法主要有如下几种。 BorderLayout():使用默认的居中对齐方式,水平和垂直间距为默认值。 BorderLayout(int align):使用指定对齐方式,水平和垂直间距为默认值。 BorderLayout(int align, int hgap, int vgap):使用指定的对齐方式、指定水平间距、垂直间距。,10.3.1 默认管理器BorderLayout,除了构造方法,BorderLayout类的其他一些常用方法如下所示。 void addLayoutComponent(Component comp, Object constraints):使用指定的约束对象将指定组件添加到布局中。 void addLayoutComponent(String name, Component comp):已过时。由addLayout- Component(Component, Object)取代。 Object getConstraints(Component comp):获得指定组件的约束。 int getHgap():返回组件之间的水平间距。 float getLayoutAlignmentX(Container parent):返回沿x轴的对齐方式。 float getLayoutAlignmentY(Container parent):返回沿y轴的对齐方式。 Component getLayoutComponent(Container target, Object constraints):基于目标Container的组件方向,获得给定约束位置所对应的组件。 Component getLayoutComponent(Object constraints):获得使用给定约束添加的组件。,10.3.1 默认管理器BorderLayout,int getVgap():返回组件之间的垂直间距。 void invalidateLayout(Container target):该方法可使布局无效,指示布局管理器是否具有它应该丢弃的缓存信息。 void layoutContainer(Container target):使用此边界布局对容器参数进行布局。 Dimension maximumLayoutSize(Container target):在给出指定目标容器中的组件的前提下,返回此布局的最大尺寸。 Dimension minimumLayoutSize(Container target):使用此布局管理器确定target容器的最小大小。 Dimension preferredLayoutSize(Container target):基于容器中的组件,使用此布局管理器确定target容器的首选大小。 void removeLayoutComponent(Component comp):从此边界布局中移除指定组件。 void setHgap(int hgap):设置组件之间的水平间距。 void setVgap(int vgap):设置组件之间的垂直间距。 String toString():返回此边界布局的状态的字符串表示形式。 说明:每个区域只能显示一个组件,如果在一个区域添加了多个组件,则只有最后添加的那个组件是可见的。,10.3.2 流布局管理器FlowLayout,FlowLayout布局管理器用于将组件按照从左到右、从上到下的顺序进行布局。它是Panel类的默认布局管理器。采用FlowLayout布局,不会改变组件的大小,按组件原有尺寸显示。当一个组件在本行放不下时,将自动换到下一行。FlowLayout布局管理器组件之间默认的间距是5个像素,默认对齐方式是居中。当然,可以调用相关方法设置不同的组件间距、行距以及对齐方式。FlowLayout类的构造方法主要有如下几种。 FlowLayout():使用默认的居中对齐方式,水平和垂直间距为默认值。 FlowLayout(int align):使用指定对齐方式,水平和垂直间距为默认值。 FlowLayout(int align, int hgap, int vgap):使用指定的对齐方式,指定水平间距、垂直间距。,10.3.2 流布局管理器FlowLayout,除了构造方法,FlowLayout类的其他一些常用方法如下所示。 void addLayoutComponent(String name, Component comp):将指定的组件添加到布局中。 int getAlignment():获得此布局的对齐方式。 int getHgap():获得组件之间以及组件与Container的边之间的水平间隙。 int getVgap():获得组件之间以及组件与Container的边之间的垂直间隙。 void layoutContainer(Container target):布置该容器。 Dimension minimumLayoutSize(Container target):返回需要布置visible组件的最小维数,该组件包含在指定的目标容器中。 Dimension preferredLayoutSize(Container target):给出指定目标容器中的visible组件,返回此布局的首选维数。 void removeLayoutComponent(Component comp):从布局中移除指定的组件。 void setVgap(int vgap):设置组件之间以及组件与Container的边之间的水平间隙。 String toString():返回此FlowLayout对象及其值的字符串表示形式。,10.3.3 卡片布局管理器CardLayout,CardLayout布局管理器用于将组件以卡片的形式进行布局。采用CardLayout布局,每张卡片属于不同的层次,并且充满整个容器。当往容器中添加组件时,需指定所在卡片的名字。CardLayout类的构造方法主要有如下几种。 CardLayout():无参构造方法。 CardLayout(int hgap, int vgap):以指定间距创建CardLayout布局管理器,hgap指定卡片与容器的水平间距,vgap指定卡片与容器的垂直间距。,10.3.3 卡片布局管理器CardLayout,除了构造方法,CardLayout类的其他一些常用方法如下所示。 void addLayoutComponent(Component comp, Object constraints):将指定的组件添加到此卡片布局的内部名称表。 void first(Container parent):翻转到容器的第一张卡片。 int getHgap():获得组件之间的水平间隙。 float getLayoutAlignmentX(Container parent):返回沿x轴的对齐方式。 float getLayoutAlignmentY(Container parent):返回沿y轴的对齐方式。 void invalidateLayout(Container target):使布局无效,指示如果布局管理器缓存了信息,则应该将其丢弃。 void last(Container parent):翻转到容器的最后一张卡片。 void layoutContainer(Container parent):使用此卡片布局布置指定的容器。 Dimension maximumLayoutSize(Container target):给出指定目标容器中的组件,返回此布局的最大维数。 void show(Container parent, String name):翻转到已添加到此布局(使用addLayoutComponent)的具有指定name的组件。 说明:因为任何时候只有一张卡片是可见的,第一张卡片位于层次的最顶端,所以运行结果只看到第一张卡片中的组件。,10.3.4 网格布局管理器GridLayout,GridLayout布局管理器将容器划分为由行和列组成的多个网格,每个网格放一个组件。采用GridLayout布局时,在容器中按照从左到右、从上到下的顺序往网格中逐个添加组件。GridLayout类的构造方法主要有如下几种。 GridLayout():无参构造方法。 GridLayout(int rows, int cols):使用指定的行数和列数。 GridLayout(int rows, int cols, int hgap, int vgap):使用指定的行数和列数及水平间距、垂直间距。,10.3.4 网格布局管理器GridLayout,除了构造方法,GridLayout类的其他一些常用方法如下所示。 void addLayoutComponent(String name, Component comp):将具有指定名称的指定组件添加到布局。 int getColumns():获取此布局中的列数。 int getHgap():获取组件之间的水平间距。 int getRows():获取此布局中的行数。 int getVgap():获取组件之间的垂直间距。 void layoutContainer(Container parent):使用此布局布置指定容器。 Dimension preferredLayoutSize(Container parent):使用此网格布局确定容器参数的首选大小。 void removeLayoutComponent(Component comp):从布局移除指定组件。 void setColumns(int cols):将此布局中的列数设置为指定值。 String toString():返回此网格布局的值的字符串表示形式。,10.3.5 高级网格布局管理器GridBagLayout,GridBagLayout布局管理器在GridLayout布局管理器的基础上提供了更加复杂的功能。采用GridBagLayout布局时,一个组件可以跨越多个行列放在多个网格内。另外,可以通过设定填充方式、间距等任意调整组件的大小和位置。GridBagLayout布局管理器引入了GridBagConstraints类,该类用于辅助定义有关组件布局的各种属性。GridBagConstraints类的主要属性有如下几种。 int anchor:指定组件在区域中放置的位置。 int fill:指定组件填充方式。 int gridheight:指定组件的高度,单位为网格个数。 int gridwidth:指定组件的宽度,单位为网格个数。 int gridx:指定组件的横向坐标,单位为网格个数。 int gridy:指定组件的纵向坐标,单位为网格个数。 Insets insets:指定组件与区域的间隔大小。 int ipadx:指定组件间的横向间距。 int ipady:指定组件间的纵向间距。,10.3.5 高级网格布局管理器GridBagLayout,GridBagConstraints类的一些常用方法如下所示。 void addLayoutComponent(Component comp, Object constraints):使用指定constraints对象将指定组件添加到布局中。 protected void adjustForGravity(GridBagConstraints constraints, Rectangle r):根据约束几何结构和填充将x、y、宽度和高度四个字段调整为正确值。 protected void AdjustForGravity(GridBagConstraints constraints, Rectangle r):此方法已过时,仅提供向后兼容性,新代码应该调用adjustForGravity来代替。 protected void ArrangeGrid(Container parent):此方法已过时,仅提供向后兼容性,新代码应该调用arrangeGrid来代替。 GridBagConstraints getConstraints(Component comp):获得指定组件的约束。 Dimension maximumLayoutSize(Container target):在给出指定目标容器中的组件的前提下,返回此布局的最大维数 Dimension minimumLayoutSize(Container parent):使用此网格包布局确定parent容器的最小大小。 Dimension preferredLayoutSize(Container parent):使用此网络包布局确定parent容器的首选大小。 void removeLayoutComponent(Component comp):从此布局移除指定组件。,10.4 事 件 处 理,事件处理是图形界面与用户进行交互的重要内容。Java语言的事件处理机制包括事件源、事件、事件处理器三个主要的概念。首先需要为事件源注册相应的事件处理器,事件源产生指定事件,事件处理器捕获后进行相应事件处理。关于事件处理的具体内容,下面进行详细介绍。,10.4.1 什么是事件处理,事件处理是图形用户界面中的重要部分。应用程序生成的图形界面应该能够响应用户的各种操作,如鼠标单击、键盘键按下、单击按钮等。程序对用户操作的响应使得系统能够和用户进行各种交互,从而可以实现各种处理流程。图形界面对用户操作的响应采用事件处理的机制来完成,该机制包括如下三个重要的概念。 事件源:产生事件的各种组件,如窗口、按钮、复选框等。 事件:用户对事件源的各种操作动作。 事件处理器:用于接收并处理事件的方法。,10.4.1 什么是事件处理,图形用户界面的事件处理机制是将事件处理授权给事件处理器,从而实现事件源与事件处理器的分离。事件处理器专门负责事件处理,事件源对发生的事件只做发送操作,不做任何其他处理。事件源与事件处理器之间通过具体事件进行联系,三者之间的关系如图10.12所示。,10.4.1 什么是事件处理,在Java语言中,AWT事件处理部分的内容主要由java.awt.event包来完成。针对各种AWT事件,java.awt.event包中定义了各种相应的事件类,所有AWT事件类都由AWTEvent类派生而来。 每个事件类分别对应不同的事件类别,其中包含了该类事件的各种相关信息,可以调用相应的API方法进行获取。另外,对所有事件类一个公共的功能就是能够获得事件源对象。在具体的事件处理方法中,往往需要提供事件源的各种信息,通过事件类即可以获得事件源对象。 事件处理器是事件处理的核心部件。java.awt.event包中定义了各种事件处理的接口,这些接口通常为XxxxListener的形式,称为事件监听器。对每一种事件监听器接口,java.awt.event包又定义了相应的实现类,通常为XxxxAdapter的形式,称为事件适配器。事件处理器就是实现了事件监听器接口或者继承了事件适配器类的对象,其中的相应方法负责处理具体的事件。,10.4.2 事件监听器,事件监听器是用于监听事件源触发事件的对象,其中包含对事件发生后的处理操作。在Java语言中,针对不同的事件,定义了相应的事件监听器接口。下面列举一些较常用的事件监听器接口。 ActionListener:用于接收操作事件的监听器接口。 AdjustmentListener:用于接收调整事件的监听器接口。 AWTEventListener:该监听器接口用于接收指派给对象的事件的通知,这些对象是Component、MenuComponent或其子类的实例。 ComponentListener:用于接收组件事件的监听器接口。 ContainerListener:用于接收容器事件的监听器接口。 FocusListener:用于接收组件上的键盘焦点事件的监听器接口。 HierarchyBoundsListener:用于接收组件的移动和大小调整事件的监听器接口。 HierarchyListener:用于接收层次结构更改事件的监听器接口。 InputMethodListener:接收输入方法事件的监听器接口。,10.4.3 事件适配器,10.4.2节介绍的事件监听器通常都是以实现接口的方式进行定义的。因为实现接口就要实现其定义的所有方法,仅为实现一个事件方法而采用事件监听器方式所写的代码会显得非常重复。在Java语言中,针对每个事件监听器接口,系统定义了相应的实现类,称为事件适配器。只要继承事件适配器类,仅覆盖需要的相应方法就可以处理某个特定的事件了,这样代码变得更加简洁。下面列举几个较常用的事件适配器类。 ComponentAdapter:用于接收组件事件的抽象适配器类。 FocusAdapter:用于接收键盘焦点事件的抽象适配器类。 KeyAdapter:接收键盘事件的抽象适配器类。 MouseAdapter:接收鼠标事件的抽象适配器类。 MouseMotionAdapter:接收鼠标移动事件的抽象适配器类。 WindowAdapter:接收窗口事件的抽象适配器类。,10.5 AWT基本组件,基本组件是构成图形用户界面的基本元素。基本组件添加到容器中,由专门的布局管理器管理布局,通过事件机制来响应用户的操作。Java语言的AWT包提供了各种基本的图形界面组件,包括Button、Label、Checkbox等,下面分别进行介绍。,10.5.1 按钮,按钮Button是图形界面中经常使用的组件,用户单击按钮时触发一定的执行动作。Button类的一些常用方法如下所示。 void addActionListener(ActionListener l):添加指定的操作监听器,以接收来自此按钮的操作事件。 void addNotify():创建按钮的同位体。 AccessibleContext getAccessibleContext():获得与此Button相关的AccessibleContext。 String getActionCommand():返回此按钮激发的操作事件的命令名称。 ActionListener getActionListeners():返回在此按钮上注册的所有操作监听器的一个数组。 String getLabel():获得此按钮的标签。 void removeActionListener(ActionListener l):移除指定的操作监听器,以便它不再接收来自此按钮的操作事件。 void setActionCommand(String command):设置此按钮激发的操作事件的命令名称。,10.5.2 标签,标签Label用于在图形界面上显示一行只读的文本。Label类的一些常用方法如下所示。 void addNotify():创建此标签的同位体。 AccessibleContext getAccessibleContext():获取与此标签相关的AccessibleContext。 int getAlignment():获取此标签的当前对齐方式。 String getText():获取此标签的文本。 protected String paramString():返回一个表示此Label状态的字符串。 void setAlignment(int alignment):将此标签的对齐方式设置为指定的方式。 void setText(String text):将此标签的文本设置为指定的文本。,10.5.3 单行文本域,上面介绍的标签组件显示的文本是只读的,用户不能进行编辑。单行文本域TextField组件提供了单行文本编辑的功能。TextField类的一些常用方法如下所示。 void addActionListener(ActionListener l):添加指定的操作监听器,以从此文本字段接收操作事件。 void addNotify():创建TextField的同位体。 boolean echoCharIsSet():指示此文本字段是否有一个回送字符集。 AccessibleContext getAccessibleContext():获取与此TextField相关的AccessibleContext。 ActionListener getActionListeners():返回此文本字段上已注册的所有操作监听器的数组。 char getEchoChar():获取用于回送的字符。 T getListeners(Class listenerType):返回当前已在此TextField上注册为FooListener的所有对象的数组。 Dimension getMinimumSize():获取此文本字段的最小尺寸。 Dimension getMinimumSize(int columns):获取具有指定列数的文本字段的最小尺寸。 Dimension getPreferredSize():获取此文本字段的首选大小。,10.5.4 多行文本域,单行文本域TextField虽然能够让用户编辑文本,但只能在一行内编辑。当需要编辑多行文本时,需要使用多行文本域组件TextArea。TextArea类的一些常用方法如下所示。 void addNotify():创建TextArea的同位体。 void append(String str):将给定文本追加到文本区的当前文本。 void appendText(String str):已过时。从JDK version 1.1开始,由append(String)取代。 AccessibleContext getAccessibleContext():返回与此TextArea相关的AccessibleContext。 int getColumns():返回此文本区中的列数。 Dimension getMinimumSize():确定此文本区的最小大小。 Dimension getPreferredSize(int rows, int columns):确定具有指定行数和列数的文本区的首选大小。 int getRows():返回此文本区的行数。 int getScrollbarVisibility():返回指示文本区使用何种滚动条的枚举值。 void insert(String str, int pos):在此文本区的指定位置插入指定文本。 void insertText(String str, int pos):已过时。从JDK version 1.1开始,由insert(String, int)取代。,10.5.5 复选框和单选按钮,Checkbox组件属于一种选择按钮,用户可以进行相关选项的选择。结合CheckboxGroup类使用,Checkbox组件可以分别实现复选框和单选按钮的功能。如果不给多个Checkbox组件设置分组CheckboxGroup,则这些Checkbox组件是复选框,用户可以同时选中多个选项;如果给多个Checkbox组件设置为同一个分组CheckboxGroup,则这些Checkbox组件为单选按钮,每次只能有一个选项选中。Checkbox类的一些常用方法如下所示。 void addItemListener(ItemListener l):添加指定的项监听器,以接收来自此复选框的项事件。 void addNotify():创建Checkbox的同位体。 AccessibleContext getAccessibleContext():获得与此Checkbox相关的Accessible- Context。 CheckboxGroup getCheckboxGroup():确定此复选框的组。 ItemListener getItemListeners():返回已在此复选框上注册的所有项监听器所组成的数组。 boolean getState():确定此复选框是处于“开”状态,还是处于“关”状态。 protected String paramString():返回表示此Checkbox的状态的字符串。 protected void processEvent(AWTEvent e):处理关于此复选框的事件。,10.5.6 列表,列表List组件用于列举多个可供选择的文本选项,包含单选和多选两种模式。列举的文本选项分为多行,只能进行选择,不能编辑。List类的一些常用方法如下所示。 void add(String item, int index):向滚动列表中索引指示的位置添加指定的项。 void addActionListener(ActionListener l):添加指定的操作监听器以从此列表接收操作事件。 void addItemListener(ItemListener l):添加指定的项监听器以接收此列表的项事件。 void deselect(int index):取消选择指定索引处的项。 AccessibleContext getAccessibleContext():获取与此List关联的AccessibleContext。 ActionListener getActionListeners():返回已在此列表上注册的所有操作监听器的数组。 ItemListener getItemListeners():返回已在此列表上注册的所有项监听器的数组。 Dimension getMinimumSize():确定此滚动列表的最小大小。 int getSelectedIndex():获取列表中选中项的索引。 String getSelectedItem():获取此滚动列表中选中的项。,10.6 Swing简介,AWT包包括了进行图形界面开发的各方面内容,如容器、组件、布局管理、事件处理等。采用AWT包开发的图形界面一个主要特点是依赖于具体的操作系统,不同的操作系统,显示的图形外观可能不同。从JDK 1.2版本以后,Java语言引入了一个新的图形界面开发包javax.swing。Swing包在AWT包的基础上,完全采用Java语言开发,实现了图形界面的跨平台。Swing包提供了支持跨平台功能的更加丰富的组件库,也称为轻量级组件。而把AWT 的组件称为重量级组件。 javax.swing包中的组件类通常以字母“J”开头,如JFrame、JPanel、JButton、JLabel、JCheckBox等。相对于AWT包,Swing包提供了更加强大的图形界面开发功能,在AWT包的基础上增加了许多新的组件。 Swing中的大部分组件都继承了JComponet类。Swing包中与AWT包中对应的组件,在使用方法上基本相同。只不过,Swing包采用轻量级的方法在AWT的基础上重新编写了该组件。当然,Swing包也增加了许多AWT没有的组件,具有更加丰富的类库。 关于Swing界面开发知识的详细内容,是可以专门通过一本书来介绍的。限于篇幅,这里不再详细阐述,具体可参考相关材料。,10.7 Applet,AWT包中的panel类有个特殊的子类java.applet.Applet。Applet是用Java语言编写的小应用程序,嵌入到Web页面中在客户端浏览器执行。每个Applet都有其生命周期,分为初始化、运行、停止、消亡。对于Applet的相关知识,下面进行详细介绍。,10.7.1 什么是Applet,Applet是用Java语言编写的小应用程序的简称,可以直接嵌入到网页中运行,并能够产生特殊的效果。在Java Applet中,可以实现图形绘制、字体和颜色控制、动画和声音的插入以及人机交互、网络交流等功能。 Applet程序的执行方式不同于一般的Java程序。一般的Java程序执行是从它的main()方法被调用开始的,而一个Applet通常不包含main()方法。Applet程序通常是被嵌入到HTML页面中,由支持Java程序的Web浏览器执行。开发、执行Applet程序的主要步骤如下所示。 (1)编写Java Applet源程序。 (2)将Applet源程序编译生成为字节码文件。 (3)在HTML页面文件中使用标签引用步骤(2)中的字节码文件嵌入Applet。 (4)访问包含Applet的HTML页面,运行Applet。 在Java语言中,专门提供了java.applet包用于支持Applet的开发。其中,java.applet.Applet类是所有Applet应用的基类,所有的Java小应用程序都必须继承该类。该类实际上是java.awt.Panel的子类,所以可直接使用图形界面AWT中的相关内容。另外,Java语言还定义了javax.swing.JApplet类,该类可以使用Swing包中的相关内容。利用AWT和Swing包,Applet就可以创建各种标准的图像界面程序。,10.7.1 什么是Applet,在java.applet.Applet类中定义了很多基本的方法,用于操作Applet。其中,一些主要的方法如下所示。 boolean isActive():判断一个Applet是否处于活动状态。 URL getDocumentBase():检索表示该Applet运行的文件目录的对象。 URL ge
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专业工程资质管理办法
- 衡水孵化基地管理办法
- 万全区护林员管理办法
- 七中高三食堂管理办法
- 多代际记忆差异研究-洞察及研究
- 上传影像资料管理办法
- 人防手续审批管理办法
- 中央企业招标管理办法
- 上海企业注册管理办法
- 规范外包业务管理办法
- 化脓性扁桃体炎
- 物业管理服务流程与标准手册
- DB3502∕T 090-2022 居家养老紧急事件应急助援规范
- 精微广大-绘画的功能和种类 课件-2024-2025学年高中美术人美版(2019)选择性必修1 绘画
- 腰椎间盘突出症护理查房课件
- 数据退役方案
- 山东科学技术出版社小学一年级上册综合实践活动教案
- 2024口腔医学专业考核标准
- 装饰装修工程施工方案完整版
- 大型群众性活动安全许可申请表
- 2024年新人教版部编本二年级上册美术教学工作计划及教学进度5
评论
0/150
提交评论