JDialog parent = (JDialog) this.getParent().getParent().getParent().getParent();
javax.swing.JPanel--》javax.swing.JLayeredPane--》javax.swing.JRootPane--》com.dialog.CommonDialog(Jpanel存放的Dialog容器)
一、Swing GUI编程的基本步骤:
1、选择容器;
2、调用getContenPane()方法获得JFrame容器
3、设置容器布局
4、添加组件到容器
5、设置相应组件的属性和相应事件;
二、Swing容器和组件
1) 顶层容器:JFrame,JApplet,JDialog,JWindow共4个
2) 中间容器:JPanel,JScrollPane,JSplitPane,JToolBar
3) 特殊容器:在GUI上起特殊作用的中间层,如JInternalFrame,JLayeredPane,JRootPane.
4) 基本控件:实现人际交互的组件,如Jbutton, JComboBox, JList, JMenu, JSlider, JtextField。
5) 不可编辑信息的显示:向用户显示不可编辑信息的组件,例如JLabel, JProgressBar, ToolTip。
6) 可编辑信息的显示:向用户显示能被编辑的格式化信息的组件,如JColorChooser, JFileChoose, JFileChooser, Jtable, JtextArea。
三、容器控件
控件是构成应用程序界面的基本元素,按钮、文本框、进度条等,这些都是控件。控件(这里我们只讨论可视化控件)又可以分为容器控件和非容器控件。从字面意 义上来理解,容器控件就是能包含其他控件的特殊控件,例如,Java中的JPanel控件就属于容器型控件,我们可以在JPanel中放置按钮、文本框等 非容器控件,你甚至可以在JPanel中再放置若干个JPanel控件(值得注意的是,顶层容器也是容器型控件,每一个窗口应用程序中有且只能有一个顶层 容器控件,换句话说,顶层容器不能包括在其他的控件中)。
四、布局
1、什么是布局?
布局是Java中用来控制控件排列位置的一种界面管理系统。使用过其他可视化编程开发语言的人在初次接触Java界面设计时,总会感觉到Java界面设计 很别扭:居然没有提供所见即所得的设置控件坐标的方法!然而,事实证明,Java本身提供的布局管理系统也一样能够出色地完成我们的需要,而且在跨平台时 表现得更有优势。
2、常用的布局有:
a)BorderLayout:将界面分割为上下左右以及中间一块区域的管理系统,在BorderLayout布局中,最多你只能放5个控件,如果超过5个控件,建议还是选用其他的布局系统吧。
b)GridLayout:GridLayout是将用户界面切割为棋盘一样的布局管理系统。如果我们要设计一个类似于Windows中自带的计算器软件,GridLayout无疑是最佳选择。
c)FlowLayout:FlowLayout 与上述两类布局管理系统不太一样,在FlowLayout中,你不必指定每个控件放在哪,你只需要把控件加入到FlowLayout 中,FlowLayout就会根据你添加控件的顺序依次放置控件,如果空间不够,会自动换行。
d)CardLayout:俗称卡片布局管理器它把组件安排到插件队列中。
https://www.cnblogs.com/softidea/p/4565950.html
相关推荐
在Java的Swing库中,页面属性的设置顺序是一个关键概念,这关乎到组件的显示效果和程序的正确运行。Swing是Java提供的一种轻量级GUI(图形用户界面)框架,它允许开发者创建丰富的桌面应用程序。理解Swing组件属性的...
创建一个包含树的对话框,首先需要创建JTree对象,然后将其添加到容器(如JPanel)中。接着,可以使用JDialog的构造函数创建对话框,并将包含JTree的面板作为内容面板。为了设置对话框的大小、位置和可见性,我们...
Swing也提供了多种容器类型,如`JPanel`、`JScrollPane`等,这些容器继承自AWT的容器类,并扩展了更多的功能。 #### AWT容器的继承结构 AWT容器的继承结构如下所示: - `Component` - `Container` - `ScrollPane`...
它是一个顶级容器,用于显示颜色选择对话框。以下是如何使用`JColorChooser`显示颜色选择器并获取用户选择的颜色: ```java import javax.swing.JColorChooser; import java.awt.Color; // 创建一个颜色选择器 ...
此外,如果你需要在多个组件间追踪鼠标,可以考虑使用`Window`或`Container`级别的监听器,或者将监听器添加到一个包含所有目标组件的父容器上。这样,即使鼠标移动到子组件上,也能接收到坐标更新。 总之,Java...
这个功能允许用户通过一个多级结构来选择多个相关项,且提供了直观的父子关系关联。以下是对这个主题的详细阐述: 1. **树形数据结构**: 树形数据结构是一种非线性的数据组织方式,它由节点和边组成,每个节点...
本文将详细讲解如何使用Java来构建一个动态的、可交互的树型菜单,包括从数据库获取数据、创建树节点、实现添加和删除节点的功能。 首先,我们需要了解Java中的树型组件。在Java Swing库中,`JTree`是用于展示树型...
JTextField的事件处理可以影响到其父容器。 10. **实际应用示例** `JTextFieldDemo.java`可能是一个简单的示例程序,演示了如何创建并显示一个JTextField,以及可能添加的事件监听和处理。 总结,Java JTextField...
- **构造函数**:初始化`ImageIcon`实例,并创建一个自定义`JPanel`,在其中重写`paintComponent`方法以绘制背景图像。 - **main方法**:创建`TestBackground`实例并显示窗口。 #### 四、扩展知识点 ##### 1. `...
`JPanel`作为Swing中的一个容器组件,主要用于组织其他组件,并提供布局管理功能。在AsWing框架中,用户可以设置`JPanel`的透明度。通过调用`setOpaque(false)`方法可以让`JPanel`变为透明。这在需要背景透明的应用...
- 对每个文件夹,创建一个`DefaultMutableTreeNode`,然后添加到父节点。 - 对每个文件,同样创建一个`DefaultMutableTreeNode`,但通常不添加子节点。 3. **设置模型** - 创建`DefaultTreeModel`对象,使用根...
- **setExpandsSelectedPaths**:决定用户选择一个节点时,其所有父节点是否自动展开。 - **addTreeSelectionListener**:添加树选择监听器,用于处理节点选择变化的事件。 - **setCellRenderer**:设置单元格渲染器...
- **CardLayout**: 允许在容器中堆叠多个组件,每次仅显示其中一个。 - **结论**: Panel和Applet默认使用的布局管理器是FlowLayout。 #### 12. CPU组成 - **知识点**: 中央处理器(CPU)是计算机的核心部件,...
每个节点可以有零个或多个子节点,但树有一个特殊的节点,称为根节点,它没有父节点。所以,树的根结点数目是有且仅有的1个。 2. **循环结构**:在程序设计中,循环结构用于重复执行某段代码,如for循环和while循环...
5. **Java GUI组件**:`JDialog`是Java Swing中的顶层容器,可以独立显示一个对话框;而`JPanel`、`JScrollPane`、`JToolBar`是组件容器,用于组织和展示其他组件。 6. **鼠标监听器接口**:`MouseListener`接口...
Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分。这个综合资料包涵盖了Swing的各种组件、布局管理器、事件处理、外观(LookAndFeel)以及高级特性等多个方面的...
- 定义一个抽象类`Shape`,包含一个抽象方法`calculateArea`,以及一个具体的构造方法。然后定义两个子类`Circle`和`Rectangle`,分别实现`calculateArea`方法。 - 示例代码: ```java abstract class Shape { ...
而 `JPanel`、`JScrollPane` 和 `JToolBar` 都是组件容器,需要添加到其他顶级容器中。 6. Java事件监听:`MouseListener` 接口中,`mousePressed(MouseEvent)` 是鼠标按下事件,其他选项如 `mouseDoubleClicked()`...
271 14.3 JPanel面板类 273 14.3.1 容器介绍 273 14.3.2 JPanel面板类简介 274 14.3.3 创建面板 274 14.4 JLabel标签类 275 14.4.1 JLabel标签类简介 275 14.4.2 创建标签 276 14.5 JButton按钮类 276 14.5.1 ...