学到swing界面的时候,难免会遇到设置背景图片的情况,那么如何添加就略是复杂了。原本以为是直接在JFrame界面直接添加个图片就好,可是却会发现这根本行不通。之后才知道JFrame添加图片有几个步骤,一般是在LayeredPane最底层添加一个带图片的标签,然后将ContentPane设置为透明,并将上面的部件也设置为透明,那么一个背景图片就设置好了。以下就是一小段背景图片的设置代码:
实例化一个背景图片 ImageIcon bjt= new ImageIcon("image/bjt.jpg"); 实例化一个带背景图片的标签 JLabel lbjt=new JLabel(bjt); //设置标签位置大小(大小与图片一致) lbjt.setBounds(0, 0, bjt.getIconWidth(), bjt.getIconHeight()); //在LayeredPane最底层上添加一个带图片的标签 frame.getLayeredPane().add(lbjt,new Integer(Integer.MIN_VALUE)); // JPanel contentPanel = (JPanel) frame.getContentPane(); // contentPanel.setOpaque(false); ((JPanel)frame.getContentPane()).setOpaque(false);//此句与上两句意义相同
那么LayeredPane、ContentPane又是什么东西呢?实际上,在JFrame上已经有4个层次了,分别是 RootPane、LayeredPane、ContentPane、GlassPane,而其中 GlassPane 默认是透明。以下就是就是其视觉层次图:
在其中的ContentPane,实际上也就是我们在JFrame上添加组件的地方。而在 JDK1.4时,在JFrame上添加部件是一定要用getContentPane().add(……) 来添加部件。
再看另一张图:
从这里可以看出contentpane实际上是添加在layeredpane上的一个控件,而layeredpane与classpane是直接添加在rootpane上的,而rootpane是直接添加在JFrame上的。
由此也就能清楚的理解JFrame的结构层次了。
相关推荐
在Java编程语言中,`JFrame`是Swing库中的一个关键组件,它用于创建窗口应用...同时,这也有助于理解Swing组件的层次结构和事件处理机制。无论是教师还是学生,都能从中受益匪浅,增强对Java图形用户界面编程的理解。
在Java Swing中,`JFrame`是用于创建图形用户界面的主要容器之一。在处理`JFrame`的背景色时,可能会遇到一些问题,尤其是在需要设置透明背景的情况下。本文将详细解释如何正确地设置`JFrame`的背景色,并确保其效果...
5. **JTable和JTree**:这两者是Swing中用于展示数据的组件,JTable用于显示表格数据,JTree则用于呈现层次结构的数据。它们都可以与模型类(TableModel和TreeModel)绑定,方便数据操作。 6. **JTabbedPane和...
在 Java 桌面图形界面开发中,GUI 基本组件的层次结构如下: * 顶级容器:指图形界面最外层的容器,如 JFrame。 * 中间容器:指存放在顶级容器或者中间容器中的容器,如 JPanel。 * 基本组件:指图形界面的最小单位...
##### 2.3 AWT 的层次结构 AWT的核心概念包括组件、容器和布局管理器。组件是最基本的用户界面元素,如按钮和文本框;容器则是用于组织和布局其他组件或容器的元素,例如窗口和面板;布局管理器则负责控制组件在...
类的层次结构有助于代码的组织和复用,使得程序更易于理解和维护。 系统流程通常由一系列步骤组成,包括分析实体间的关系、设计类层次、定义类的属性和方法、编写应用模块、调试和撰写文档。报告中提到的系统功能...
8. JTree:展示层次结构数据,如文件系统或组织结构。 二、布局管理器 Java界面中的组件位置由布局管理器控制。Swing支持多种布局管理器,如FlowLayout、BorderLayout、GridLayout、CardLayout和BoxLayout等。 1. ...
9. **Swing构件的层次结构**:`JFrame`作为顶级容器,它可以包含多个`JPanel`,`JPanel`再包含其他组件。这样可以方便地组织和管理组件。 10. **国际化支持**:`JFrame`和其他Swing组件支持多语言,可以使用资源束...
在Swing的类层次结构中,JComponent是一个核心的抽象类,它是所有Swing组件的基类。它定义了组件的一般行为和方法,并提供了扩展组件功能的基础。Swing中的所有组件,如按钮(JButton)、文本框(JTextField)等,都是...
7.1.2 Swing的类层次结构 Swing组件主要分为两类:顶层容器和轻量级组件。顶层容器包括JFrame、JApplet、JDialog和JWindow,它们继承自AWT的Container类和Window类。轻量级组件则进一步细化,如JButton、JLabel等,...
Swing组件继承自Java AWT组件层次结构,主要分为以下几个部分: - `java.lang.Object` 是所有对象的基类。 - `java.awt.Component` 是所有图形组件的基础,包括可视和不可视组件。 - `java.awt.Container` 是...
- **类层次结构**:主要涉及`informationManagement`类以及`Mainframe`类等。其中`informationManagement`类负责信息管理界面的构建与事件处理;`Mainframe`类可能负责系统的初始化和主界面展示。 - **代码示例解析*...
Java GUI程序设计主要涉及到创建和管理用户界面,其中包括多种类和接口,用于构建图形用户界面。在Java中,GUI(图形用户界面)是通过AWT(Abstract Window Toolkit)和Swing库来实现的。 首先,GUI的核心是组件,...
另外,还有一些更复杂的组件,如JTable用于显示表格数据,JTree展示层次结构的数据,以及JList用于创建列表选择。这些组件通过模型-视图-控制器(MVC)架构工作,允许开发者灵活地处理数据和界面之间的交互。 在...
例如,JTable可以用来显示和编辑表格数据,JTabbedPane可以创建带有多个选项卡的界面,而JTree和JList则可以展示层次结构的数据。 在Java图形化界面编程中,事件处理是关键的一环。当用户与界面元素交互时,会产生...
11. **JTree**: JTree用于显示层次结构的数据,如文件系统目录结构。 12. **JCheckBox** 和 **JRadioButton**: 这两者分别用于多选和单选按钮,通常在选项列表中使用。 13. **JMenuBar** 和 **JMenuItem**: 用于...
JTree组件是Swing中的树形视图控件,用于展示层次结构的数据,如文件系统的目录结构。`setShowsRootHandles(true)`使得根节点显示小手柄,用户可以通过它来展开或折叠节点。`TreeSelectionListener`接口的实现用于...
随着对Swing的深入学习,开发者还可以接触到更复杂的组件,如JTable用于显示表格数据,JTree展示层次结构信息,以及JTabbedPane用于创建多页界面。同时,自定义组件和外观定制也是Swing高级应用的重要组成部分。 ...
1. **组件体系结构**: - `Object`是所有类的基类,包括GUI组件。 - `Dimension`用于描述组件的宽度和高度。 - `Font`类用于设置组件的字体样式。 - `FontMetrics`提供了关于特定字体的几何信息,如字符宽度和...