GridLayout的使用
GridLayout的类层次结构图:
java.lang.Object --java.awt.GridLayout
GridLayout比FlowLayout多了行和列的设置,也就是说你要先设置GridLayout共有几行几列,就如同二维平面一般,然后你加 进去的组件会先填第一行的格子,然后再从第二行开始填,依此类扒,就像是一个个的格子一般。而且GridLayout会将所填进去组 件的大小设为一样。
构造函数:
GridLayout()建立一个新的GridLayout,默认值是1行1列。
GridLayout(int rows,int cols)建立一个几行几列的GridLayout.
GridLayout(int rows,int cols, int hgap,int vgap)建立一个几行几列的GridLayout,并设置组件的间距。
例子:GridLayoutDemo.java
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class CardLayoutDemo implements ActionListener { JPanel p1, p2, p3, p4; int i = 1; JFrame f; public CardLayoutDemo() { f = new JFrame();// 当做top-level组件 Container contentPane = f.getContentPane(); contentPane.setLayout(new GridLayout(2, 1)); p1 = new JPanel(); Button b = new Button("Change Card"); b.addActionListener(this);// 当按下"Change Card"时,进行事件监听,将会有系统操作产生。 p1.add(b); // 处理操作在52-64行. contentPane.add(p1); p2 = new JPanel(); p2.setLayout(new FlowLayout()); p2.add(new JButton("first")); p2.add(new JButton("second")); p2.add(new JButton("third")); p3 = new JPanel(); p3.setLayout(new GridLayout(3, 1)); p3.add(new JButton("fourth")); p3.add(new JButton("fifth")); p3.add(new JButton("This is the last button")); p4 = new JPanel(); p4.setLayout(new CardLayout()); p4.add("one", p2); p4.add("two", p3); /* * 要显示CardLayout的卡片,除了用show(Container parent,String name)这个方法外 * ,也可试试first( * Container),next(Container),previous(Container),last(Container)这 * 四个方法,一样可以达到显示效果。 */ ((CardLayout) p4.getLayout()).show(p4, "one"); contentPane.add(p4); f.setTitle("CardLayout"); f.pack(); f.setVisible(true); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } public void actionPerformed(ActionEvent event) { switch (i) { case 1: ((CardLayout) p4.getLayout()).show(p4, "two"); break; case 2: ((CardLayout) p4.getLayout()).show(p4, "one"); break; } i++; if (i == 3) i = 1; f.validate(); } public static void main(String[] args) { new CardLayoutDemo(); } }
相关推荐
总之,"GridLayout使用Demo(兼容4.0以下版本)"是一个帮助开发者在低版本Android系统上实现GridLayout功能的示例项目。它可能包含导入第三方库、创建GridLayout对象、设置子视图的布局参数等步骤,为开发者提供了一种...
GridLayout 是一种 Java Swing 库提供的布局管理器,用于在容器中将组件排列为规则的行列网格。 GridLayout 的特点如下: 组件按照行和列的顺序进行排列。 所有的单元格大小相等,会根据容器的大小自动调整。 可以...
最后,为了在API 21以下的设备上使用`GridLayout`,需要在代码中初始化`GridLayout`,通常在`onCreate()`方法中: ```java GridLayout gridLayout = (GridLayout) findViewById(R.id.grid_layout); if (Build....
使用`GridLayout`后,容器会被划分成一系列大小相等的矩形区域,每个区域中仅能放置一个组件。这种方式特别适合于那些需要整齐、对称布局的应用场景。 #### 二、基本概念与特点 1. **网格结构**:`GridLayout`将...
在本教程中,我们将深入探讨如何使用`GridLayout`设计版面。 1. **GridLayout的构造函数** `GridLayout`有三个构造函数,分别是: - `GridLayout(int rows, int cols)`:创建一个具有指定行数和列数的网格。 - `...
然而,在GridLayout中直接使用RadioButton并不能自动实现单选功能,因为GridLayout本身并不具备处理这种交互的能力。为了模仿RadioButton的单选效果,我们需要自定义一些逻辑。以下是一种实现方法: 1. **创建...
- 在`Calculator`类的`init()`方法中,如果使用`GridLayout`,首先应该实例化`GridLayout`对象,并将其设置为容器的布局管理器。例如: ```java setLayout(new GridLayout(4, 3)); ``` 这将创建一个4行3列的...
为了在这些早期版本的Android系统上使用GridLayout,开发者需要采取一些额外的步骤。 1. **GridLayout的基本概念**:GridLayout是一种二维布局,它将子视图组织成行和列。每个子视图都可以占据一个或多个单元格,...
3. **左上角显示运算结果**:通常,我们可以使用TextView来展示运算结果,将其放在GridLayout的第一行第一列,并设置合适的大小,使其占据足够空间显示结果。 4. **数字键和运算键合理放置**:根据标准计算器的设计...
本教程将深入探讨`GridLayout`的使用方法和特点。 首先,`GridLayout`提供了类似于表格的布局方式,可以将界面控件按照行列的方式进行排列。通过调整单元格的大小和位置,我们可以创建出各种复杂的布局结构。与...
- `mainwindow.ui`和`gridlayout.ui`:使用Qt Designer设计的UI界面,以XML格式存储控件的布局和属性,可以通过`uic`工具转换为C++代码。 5. **进一步的优化建议**: - 可以添加事件过滤器以监听控件的添加和删除...
在本详细解析中,我们将深入探讨GridLayout的使用方法、特性以及如何在实际开发中有效地利用它。 首先,GridLayout的核心在于它的网格结构。每个控件在GridLayout中占据一个或多个单元格,这些单元格通过行和列进行...
在“Android使用GridLayout布局完成图片放大器项目的代码清单”中,我们可以看到一个简单的案例,该案例展示了如何利用GridLayout来实现一个图片查看器,用户点击不同的按钮可以查看相应的图片。 首先,我们从`...
在本教程中,我们将深入探讨如何有效地使用GridLayout来创建复杂的用户界面,尤其是通过一个实例——计算器界面的开发,来加深理解。 ### GridLayout的特点 GridLayout与TableLayout相似,但比TableLayout更为灵活...
然而,了解和熟练使用GridLayout对于初学者来说是基础且必要的,因为它可以帮助理解布局管理的基本原理,为学习其他更复杂的布局打下坚实的基础。 在提供的压缩包文件"GridLayout"中,可能包含了一些示例代码或XML...
本篇文档主要介绍了如何使用GridLayout布局来实现一个图片放大器的功能,这对于理解和掌握Android UI设计以及事件处理有着重要的实践意义。 首先,我们要了解GridLayout的基本用法。GridLayout继承自ViewGroup,它...
下面我们将深入探讨GridLayout的基本概念、使用方法以及示例图片中的应用。 一、GridLayout概述 GridLayout是一个二维布局,它将容器划分为相等大小的行和列。每个子视图(View)都会占据一个或多个单元格,这些...
android-support-v7-gridlayout.jar
2. **GridLayout使用**:在Android中,可以使用GridLayout类来创建网格布局,通过设置columnCount属性定义列数,然后添加子视图到网格中。 3. **自定义网格项**:与ListView类似,可以自定义每个网格项的视图,以...
通过学习“021集-FrameLayout和GridLayout”的视频教材,你将能够熟练掌握这两种布局的使用方法,理解它们的工作原理,并能在实际项目中灵活运用。无论是初学者还是经验丰富的开发者,都能从中受益,提升Android UI...