Java GUI進(jìn)階之流式布局管理器FlowLayout專項(xiàng)精講
Java GUI
GUI的全稱是Graphical User Interface,即圖形用戶界面,是應(yīng)用程序提供給用戶操作的圖形界面,包括窗口,菜單,按鈕,工具欄和其他各種圖形界面元素。
AWT概述
AWT是用于創(chuàng)建圖形用戶界面的一個(gè)工具包,提供了一些用于實(shí)現(xiàn)圖形界面的組件,,在JDK中針對每個(gè)組件都提供了對應(yīng)的Java類,這些類都位于Java.awt包。
AWT中的繼承關(guān)系
1、Windows
Windows中有兩個(gè)子類,F(xiàn)rame類和Dialog類,F(xiàn)rame類用于創(chuàng)建一個(gè)具有標(biāo)題的框架窗口,作為程序的主界面,Dialog類用于創(chuàng)建一個(gè)對話框,實(shí)現(xiàn)與用戶的信息交互。
2、Panel
Panel是一個(gè)容器,不能單獨(dú)存在,只能存在于Windows及其子類中,一個(gè)Panel對象代表了一個(gè)長方形的區(qū)域,在這個(gè)區(qū)域中可以容納其他的組件,
package AWT; import java.awt.*; public class GeZi { public static void main(String[] args) { Frame f=new Frame("我的世界!"); //設(shè)置窗體的寬和高 f.setSize(600,300); //設(shè)置窗體在屏幕中所處的位置(參考是左上角坐標(biāo)) f.setLocation(600,200); f.setVisible(true); } }
布局管器
組件在容器中的位置和尺寸是由布局管理器來決定的。在java.awt包中提供了5種布局管理器,分別是FlowLayout(流式布局管理器),BorderLayout(邊界布局管理器),GirdLayout(網(wǎng)格布局管理器),GirdBagLayout(網(wǎng)格包布局管理器),CardLayout(卡片布局管理器),每個(gè)容器在創(chuàng)建時(shí)都會(huì)默認(rèn)使用一種布局管理器,在程序中可以通過調(diào)用容器對象的setLayout()方法設(shè)置布局管理器,通過布局管理器來自動(dòng)進(jìn)行組建的布局管理。
FlowLayout(流式布局管理器)
在這種布局方式下,容器會(huì)將組件按照添加順序從左向右放置。當(dāng)達(dá)到容器的邊界時(shí),會(huì)自動(dòng)將組件放到下一行的開始位置,可以將組件設(shè)置成左對齊,居中對齊或右對齊,F(xiàn)lowLayout有三個(gè)構(gòu)造方法。
FlowLayout()//組件默認(rèn)居中對齊,水平,垂直間距離為5個(gè)單位 FlowLayout(int align)//指定組件相對于容器的對齊方式,水平,垂直間距默認(rèn)5個(gè)單位 FlowLayout(int align,int hgap,int vgap)//指定組件的對齊方式和水平,垂直間距
package AWT; import java.awt.*; public class LuiSi { public static void main(String[] args) { final Frame f=new Frame("FlowLayout"); //設(shè)置布局管理器為FlowLayout,所有組件左對齊,水平間距為20,垂直間距為30 f.setLayout(new FlowLayout(FlowLayout.LEFT,20,30)); f.setSize(220,300); f.setLocation(300,200); f.add(new Button("第1個(gè)按鈕")); f.add(new Button("第2個(gè)按鈕")); f.add(new Button("第3個(gè)按鈕")); f.add(new Button("第4個(gè)按鈕")); f.add(new Button("第5個(gè)按鈕")); f.add(new Button("第6個(gè)按鈕")); f.setVisible(true); } }
到此這篇關(guān)于Java GUI進(jìn)階之流式布局管理器FlowLayout專項(xiàng)精講的文章就介紹到這了,更多相關(guān)Java FlowLayout內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java實(shí)現(xiàn)Redisson的基本使用
Redisson是一個(gè)在Redis的基礎(chǔ)上實(shí)現(xiàn)的Java駐內(nèi)存數(shù)據(jù)網(wǎng)格客戶端,本文主要介紹了java實(shí)現(xiàn)Redisson的基本使用,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12spring boot國際化之MessageSource的使用方法
這篇文章主要給大家介紹了spring boot國際化之MessageSource使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Java servlet執(zhí)行流程代碼實(shí)例
這篇文章主要介紹了Java servlet執(zhí)行流程代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02Java字節(jié)與字符流永久存儲(chǔ)json數(shù)據(jù)
本篇文章給大家詳細(xì)講述了Java字節(jié)與字符流永久存儲(chǔ)json數(shù)據(jù)的方法,以及代碼分享,有興趣的參考學(xué)習(xí)下。2018-02-02java 快速實(shí)現(xiàn)異步調(diào)用的操作方法
這篇文章主要介紹了java 如何快速實(shí)現(xiàn)異步調(diào)用方法,今天我們就來了解下 CompletableFuture,它Java 8引入的一種功能強(qiáng)大的異步編程工具,可以用于實(shí)現(xiàn)復(fù)雜的異步操作和處理鏈?zhǔn)降漠惒饺蝿?wù),需要的朋友可以參考下2023-07-07