一、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

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

 

 

posted on 2020-06-11 00:21  心悦君兮君不知-睿  阅读(255)  评论(0编辑  收藏  举报