初學(xué) Swing 組件

Swing 是一個為Java設(shè)計(jì)的GUI工具包。

Swing是JAVA基礎(chǔ)類的一部分。

Swing包括了圖形用戶界面(GUI)器件如:文本框,按鈕,分隔窗格和表。

Swing提供許多比AWT更好的屏幕顯示元素。它們用純Java寫成,所以同Java本身一樣可以跨平臺運(yùn)行,這一點(diǎn)不像AWT。它們是JFC的一部分。它們支持可更換的面板和主題(各種操作系統(tǒng)默認(rèn)的特有主題),然而不是真的使用原生平臺提供的設(shè)備,而是僅僅在表面上模仿它們。這意味著你可以在任意平臺上使用JAVA支持的任意面板。輕量級組件的缺點(diǎn)則是執(zhí)行速度較慢,優(yōu)點(diǎn)就是可以在所有平臺上采用統(tǒng)一的行為。


1.框架(JFrame)

框架SwingGUI應(yīng)用程序的主窗口,窗口包括邊界、標(biāo)題、關(guān)閉按鈕等。

JFrame類是java.awt包中Frame類的子類,其子類創(chuàng)建的對象是窗體,對象(窗體)是重量容器。不能把組件直接添加到Swing窗體中,其含有內(nèi)容面板容器,應(yīng)該把組件添加到內(nèi)容面板中;不能為Swing窗體設(shè)置布局,而應(yīng)當(dāng)Swing窗體的內(nèi)容面板設(shè)置布局。

Swing窗體通過getContentPane()方法獲得JFrame的內(nèi)容面板,再對其加入組件;

JFrame frame = new JFrame();

Container ct = frame.getContentPane(); //獲取內(nèi)容面板容器

Ct.add(childComponent);? //降內(nèi)容面板容器加入組件

框架(JFrame)常用的方法和事件:

frame.setVisibel(true):顯示框架對象代表的框架窗口。

frame.setSize(200,100)或frame.pack():設(shè)置框架的初始顯示大小。

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE):當(dāng)用戶單機(jī)框架的關(guān)閉按鈕則退出程序,或者添加WindowListener監(jiān)聽器實(shí)現(xiàn)關(guān)閉按鈕退出程序。


2.面板(JPanel)

JPanel組件定義面板實(shí)際上是一種容器組件,用來容納各種其他輕量級組件。此外,用戶還可以用這種面板容器繪制圖形。

JPanel的構(gòu)造方法如下:

JPanel():創(chuàng)建具有雙緩沖和流布局(FlowLayout)的面板。

JPanel(LayoutManager layout):創(chuàng)建具有制定布局管理器的面板。

JPanel的 常用方法:

void add(Component):添加組件。

void add(Component,int):添加組件至索引指定位置。

void add(Component,Object):按照指定布局限制添加組件。

void add(Component,Object,int):按照指定布局管理器限制添加組件到指定位置。

void remove(Component):移除組件。

void remove(int):移除指定位置的組件。

void removeAll():移除所有組件。

void paintComponent(Graphics):繪制組件。

void repaint():重新繪制。

void setPreferredSize(Dimension):設(shè)置組件尺寸。

Dimension getPreferredSize():獲取最佳尺寸。


3.文本框(JTextFieldJPasswordField)

JTextField組件用于創(chuàng)建文本框。文本框是用來接收用戶的單行文本信息輸入的區(qū)域。通常文本框用于接收用戶信息或其他文本信息的輸入。當(dāng)用戶輸入文本信息后,如果為JTextField對象添加了事件處理,按回車鍵后就會觸發(fā)一定的操作。

JPasswordField是JTextField的子類,是一種特殊的文本框,也是用來接收單行文本信息輸入的區(qū)域,但是會用回顯字符串代替輸入的文本信息。因此,JPasswordField組件也稱為密碼文本框。JPasswordField默認(rèn)的是回顯字符是”*”,用戶可以自行設(shè)置回顯字符。

JTextField的常見構(gòu)造方法有如下幾種:

JTextField():創(chuàng)建一個空文本框。

JTextField(String text):創(chuàng)建一個具有出事文本信息text的文本框。

JTextField(String text,int columns):創(chuàng)建一個具有出事文本信息text以及制定列數(shù)的文本框。

JTextField的常用方法:

void setText(String):設(shè)置顯示內(nèi)容。

String getText():獲取顯示內(nèi)容。

JPasswordField的構(gòu)造方法有如下幾種:

JPasswordField():創(chuàng)建一個空的密碼文本框。

JPasswordField(String text):創(chuàng)建一個指定初始文本信息的密碼文本框。

JPasswordField(String text,int columns):創(chuàng)建一個指定文本和列數(shù)的密碼文本框。

JPasswordField(int columns):創(chuàng)建一個指定列數(shù)的密碼文本框。

JPasswordField是JTextField的子類,因此JPasswordField也具有與JTextField類似的名稱和功能的方法,此外,它還具有與JTextField類似的名稱和功能的方法,此外,它還具有自己的獨(dú)特方法:

boolean echoCharIsSet():獲取設(shè)置回顯字符的狀態(tài)。

void setEchoChar(char):設(shè)置回顯字符。

void getEchoChar():獲取回顯字符。

char[] getPassword():獲取組件的文本。


4.按鈕(Jbutton)

Swing中的按鈕是Jbutton,它是javax.swing.AbstracButton類的子類,swing中的按鈕可以顯示圖像,并且可以將按鈕設(shè)置為窗口的默認(rèn)圖標(biāo),而且還可以將多個圖像指定給一個按鈕。

在JButton中有如下幾個比較常用的構(gòu)造方法。

JButton(Icon icon): 按鈕上顯示圖標(biāo)。

JButton(String text): 按鈕上顯示字符。

JButton(String text,Icon icon): 按鈕上既顯示圖標(biāo)又先施字符。

JButton類的方法:

setText(String text): 設(shè)置按鈕的標(biāo)簽文本。

setIcon(Icon defaultIcon): 設(shè)置按鈕在默認(rèn)狀態(tài)下顯示的圖片。

setRolloverIcon(Icon rolloverIcon): 設(shè)置當(dāng)光標(biāo)移動到按鈕上方時(shí)顯示的圖片。

setPressedIcon(Icon pressedIcon): 設(shè)置當(dāng)按鈕被按下時(shí)顯示的圖片。

setContentAreaFilled(boolean b): 設(shè)置按鈕的背景為同名,當(dāng)設(shè)為fase時(shí)表示不繪制,默認(rèn)為繪制。

setBorderPainted(boolean b): 設(shè)置為不繪制按鈕的邊框,當(dāng)設(shè)為false時(shí)表示不繪制,默認(rèn)為繪制。

按鈕組件是GUI中最常用的一種組件。按鈕組件可以捕捉到用戶的單擊事件,同時(shí)利用按鈕事件處理機(jī)制響應(yīng)用戶的請求。JButton類是Swing提供的按鈕組件,在單擊JButton類對象創(chuàng)建的按鈕時(shí),會產(chǎn)生一個ActionEvent事件。



CLASSPATH

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,836評論 6 540
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,275評論 3 428
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,904評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,633評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,368評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,736評論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,740評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,919評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,481評論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,235評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,427評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,968評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,656評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,055評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,348評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,160評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,380評論 2 379

推薦閱讀更多精彩內(nèi)容

  • 1、窗體 1、常用屬性 (1)Name屬性:用來獲取或設(shè)置窗體的名稱,在應(yīng)用程序中可通過Name屬性來引用窗體。 ...
    Moment__格調(diào)閱讀 4,585評論 0 11
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,162評論 4 61
  • 面向?qū)ο笾饕槍γ嫦蜻^程。 面向過程的基本單元是函數(shù)。 什么是對象:EVERYTHING IS OBJECT(萬物...
    sinpi閱讀 1,079評論 0 4
  • 1.import static是Java 5增加的功能,就是將Import類中的靜態(tài)方法,可以作為本類的靜態(tài)方法來...
    XLsn0w閱讀 1,258評論 0 2
  • 1 一個Java源程序是由若干個類組成。 2 class 是Java的關(guān)鍵字,用來定義類。 3 Java應(yīng)用程序中...
    少帥yangjie閱讀 2,415評論 1 8