-
Java连载121-窗口程序设计GUI编程
一、GUI编程
1.Java提供了java.awt和javax.swing包用于GUI编程,简称为AWT和Swing。
2.AWT属于重量级组件,利用本地操作系统提供的图形库,不跨平台,它的组件种类有限,可以提供基本的GUI设计工具,但是无法实现目前GUI设计所需的所有功能。
3.Swing由纯Java语言编写,属于轻量级组件,可跨平台,是对AWT的加强。
4. AWT中组件可以分为两类:Component和MenuComponent;MenuCompent是所有与菜单相关组件的父类,Component则是除了菜单以外其他AWT组件的父类,她表示一个能够以图形化方式显示出来并且可以与用户交互的对象。
二、容器类
1.Container类(继承自Component)表示容器,它是一种特殊的组件,可以用来容纳其他组件,Container又分为两类,分为Window和Panel.
2.Window类是不依赖其他容器而独立存在的容器,分为两个子类,分别为Frame类和Dialog类
3.Pannel也是一个容器,但是它不能单独存在,只能存在于其他容器中(Window或者它的子类),一个Pannel对象代表了一个长方形的区域,在这个区域中可以容纳其他组件。
package com.bjpowernode.java_learning; import java.awt.Frame; public class D121_1_Component { public static void main(String[] args) { //建立新窗体对象 Frame f = new Frame("我的窗体!"); //设置窗体的宽和高 f.setSize(400,300); //设置窗体在屏幕中所处的位置(参数是左上角坐标) f.setLocation(300,200); //设置窗体可见 f.setVisible(true); } }
三、布局管理器
1.组件不能单独存在,必须放在容器中,而组件在容器中的位置和尺寸是由布局管理器来决定的。
2.布局管理器概述
在java.awt包中提供了5种布局管理器,分别为FlowLayout(流式布局管理器),BorderLayout(边界布局管理器),GridLayout(网格布局管理器),GridBagLayout(网格包布局管理器)和CardLayout(卡片布局管理器)。
java.awt.Frame frame = new java.awt.Frame(); frame.setLayout(new FlowLayout());
3.流式布局管理器
(1)最简单的布局管理器,在这种布局之下,容器会将组件按照添加顺序从左向右放置,当到达容器的边界时,会自动将组件放到下一行的开始位置。这些组件左对齐,居中对齐(默认方式)或者右对齐的方式排列。
(2)下面是FlowLayout的三种构造方法
FlowLayout()
默认居中对齐,水平,垂直的间距为5个单位;
FlowLayout(int align)
指定组件相对于容器的对齐方式,水平,垂直间距默认为5个单位
FlowLayout(int align,int hgap,int vgap)
指定组件的对齐方式和水平,垂直间距。
四、源码:
D121_1_Component.java
D120_2_ParentClassAndInterfaceOfClass.java
https://github.com/ruigege66/Java/blob/master/D120_1_ConstructerOfClass.java
https://github.com/ruigege66/Java/blob/master/D120_2_ParentClassAndInterfaceOfClass.java
出 处:https://www.cnblogs.com/ruigege0000/p/13090549.html