一、GUI編程 1.Java提供了java.awt和javax.swing包用於GUI編程,簡稱為AWT和Swing。 2.AWT屬於重量級組件,利用本地操作系統提供的圖形庫,不跨平臺,它的組件種類有限,可以提供基本的GUI設計工具,但是無法實現目前GUI設計所需的所有功能。 3.Swing由純J ...
一、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.歡迎關註微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大數據學習資料