Java 图形用户界面之javax.swing包(四) Container、JComponent、JApplet

Class Container

实现的接口有ImageObserver , MenuContainer , Serializable

已知直接子类BasicSplitPaneDivider , CellRendererPane , DefaultTreeCellEditor.EditorContainer , JComponent , Panel , ScrollPane , Window

继承Component

该类是在java.awt包中的

通用抽象窗口工具包(AWT)容器对象是可以包含其他AWT组件的组件。

添加到容器的组件将在列表中进行跟踪。 列表的顺序将在容器内定义组件的前后堆叠顺序。 如果在向容器添加组件时未指定索引,则将其添加到列表的末尾(因此将添加到堆栈顺序的底部)。

方法

public Container()

构造一个新的容器。 容器可以直接扩展,但在这种情况下是轻量级的,并且必须包含在本机组件树中较高的位置的父级。 (例如Frame)。


Class JComponent

实现的接口有ImageObserver , MenuContainer , Serializable三个

已知直接子类AbstractButton , BasicInternalFrameTitlePane , Box , Box.Filler , JColorChooser , JComboBox , JFileChooser , JInternalFrame , JInternalFrame.JDesktopIcon , JLabel , JLayer , JLayeredPane , JList , JMenuBar , JOptionPane , JPanel , JPopupMenu , JProgressBar , JRootPane , JScrollBar , JScrollPane , JSeparator , JSlider , JSpinner , JSplitPane , JTabbedPane , JTable , JTableHeader , JTextComponent , JToolBar , JToolTip , JTree , JViewport

继承Container类

除顶级容器之外的所有Swing组件的基类。 要使用从JComponent继承的JComponent ,您必须将组件放置在其根为顶级Swing容器的包含层次结构中。 顶层Swing容器-比如JFrameJDialogJApplet -是提供一个地方,其他Swing组件绘制自己的专用组件。 有关限制层次结构的说明,请参阅Java Tutorial Swing Components and the Containment Hierarchy部分。

JComponent课程提供:

  • 使用Swing架构的标准和自定义组件的基类。
  • 可编程器指定的“可插拔外观”(L&F),或(可选)由用户在运行时选择。 每个组件的外观和感觉由UI代表提供 - 一个从ComponentUI下载的对象。 见How to Set the Look and Feel在Java教程获取更多信息。
  • 综合按键处理。 查看文档How to Use Key Bindings ,在Java教程的文章,了解更多信息。
  • 支持工具提示 - 当光标停留在组件上时弹出的简短说明。 见How to Use Tool Tips在Java教程获取更多信息。
  • 支持无障碍。 JComponent包含所有的方法Accessible接口,但它实际上并没有实现的接口。 这是延长JComponent的个别课程的JComponent
  • 支持特定于组件的属性。 使用putClientProperty(java.lang.Object, java.lang.Object)getClientProperty(java.lang.Object)方法,可以将名称对象对与从JComponent下降的任何对象进行JComponent
  • 绘画的基础设施,包括双重缓冲和支持边界。 有关更多信息,请参阅Painting和How to Use Borders ,这两个都是“Java教程”中的部分。

有关这些主题的更多信息,请参阅Swing package description和Java教程部分The JComponent Class 。

JComponent及其子类记录某些属性的默认值。 例如, JTable将默认行高度为16.每个JComponent子类具有ComponentUI将创建ComponentUI作为其构造ComponentUI的一部分。 为了提供一个特别的外观和感觉,每个ComponentUI可以设置回到JComponent创建它的JComponent 。 例如,自定义外观可能需要JTable的行高为24.记录的默认值是在安装ComponentUI之前的属性值。 如果您需要特定属性的特定值,则应显式设置它。


Class JApplet

实现的接口有ImageObserver , MenuContainer , Serializable , Accessible , RootPaneContainer

继承Applet类

方法

public JApplet() throws HeadlessException

创建一个swing applet实例。

这个构造函数将组件的区域属性返回的值JComponent.getDefaultLocale

原文地址:https://www.cnblogs.com/heibaimao123/p/9495099.html

时间: 2024-08-28 06:31:57

Java 图形用户界面之javax.swing包(四) Container、JComponent、JApplet的相关文章

java图形用户界面之下拉列表

下拉列表常用方法: *JComboBox(): 创建一个没有选项的下拉列表 *addItem():增加选项 *getSelectedIndex():返回选中的下拉列表选项的索引 *getSelectedItem():返回选中的下拉列表选项 *removeItemAt(index):删除索引值为index的选项 *removeAllItem():删除全部选项 *addItemListener():注册事件的监视器 package example_java; import java.awt.Flow

14.4-全栈Java笔记: javax.swing常用控件有哪些?怎么用?

常用基本控件 javax.swing.JButton 在图形界面程序中,按钮可能是使用量最大的控件之一,javax.swing包中JButton类就是用来创建按钮的.如表1所示,为JButton常用的构造方法.  javax.swing.JLabel JLabel控件是最简单的Swing组件之一,用于在窗体上显示标签, JLabel既可以显示文本,也可以显示图像.如表3所示,为JLabel常用的构造方法. 注意: JLabel只能用于显示文本和图标信息,用户不能对其进行修改. javax.swi

javax.swing.jFrame

原文地址:java布局管理器总结作者:技术羊 之前在使用的过程中一直对java中swing的布局管理器感到很困惑,以下是在网上找到的一篇文章.其中我重点关注了一下gridbaglayout.写的比较详尽: BorderLayout FlowLayout GridLayout GridBagLayout CardLayout BoxLayout 1.BorderLayout java.lang.Object --java.awt.BorderLayout 将版面划分成东.西.南.北.中五个区域,将

[转]Java事件处理机制- 事件监听器的四种实现方式

原文来自http://stefan321.iteye.com/blog/345221 自身类作为事件监听器 外部类作为事件监听器 匿名内部类作为事件监听器 内部类作为事件监听器 自身类作为事件监听器: Java代码   import javax.swing.*; import java.awt.*; import java.awt.event.*; /** *Java事件处理机制:自身类作为事件监听器 *@author Winty([email protected]) *@version 200

学习Java随记之swing编程(1)

最近在学习swing编程,依据老师的教学视频学习使用java.awt.*.javax.swing.*.java.awt.event.*包进行简单的tank大战游戏编程,学习了JFrame.JPanel等容器和组件的使用,学习使用Graphics的各种方法绘制图形,以及一些事件监听和处理方法. JFrame这个类在目前的学习中都是继承使用,然后调用三板斧把他显示出来,例如: public class MyTankGame extends JFrame {//继承JFrame .... public

java swing的四种常用布局

第三种卡片布局可用于完成简单的抽奖程序,这个还是挺有趣的. 一:流式布局FlowLayout 实现代码: import java.awt.FlowLayout ; import javax.swing.JFrame ; import javax.swing.JButton ; class Tester { public static void main(String args[]) { JFrame frame = new JFrame("流式布局") ; frame.setLayou

GUI编程笔记02:java.awt和java.swing包的区别

java.awt:(java的标准包)             Abstract Window ToolKit (抽象窗口工具包),需要调用本地系统方法实现功能.属重量级控件.重量级控件和本地系统相关联,移植性很差. javax.swing:(javax表示:java的扩展包)            在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现.增强了移植性,属轻量级控件.

使用javax.script包实现Java设置JS脚本中的变量

下面例子中,我们通过javax.script包ScriptEngine.put()方法设置JS脚本中的变量,JS把所有在线用户输出. package ajava.code.javase; import javax.script.ScriptEngineManager; import javax.script.ScriptEngine; import javax.script.ScriptException; import java.util.Date; public class AjavaAcc

java动态加载jar包,并运行其中的类和方法

动态加载jar包,在实际开发中经常会需要用到,尤其涉及平台和业务的关系的时候,业务逻辑部分可以独立出去交给业务方管理,业务方只需要提供jar包,就能在平台上运行. 下面通过一个实例来直观演示: 第一:定义一个抽象类 AbstractAction (稍后换成接口的实例) [java] view plain copy package com.java.loader; public abstract class AbstractAction { public abstract String actio