小博老師解析Java核心技術(shù) ——JSwing選擇型控件

[引言]

我們?cè)趯W(xué)習(xí)Java編程的時(shí)候旺拉,如果需要開發(fā)客戶端窗體類型的程序频轿,可以使用JDK中的awt和swing庫陨舱。本文開始小博老師就繼續(xù)為大家演示Java窗體編程中的各類控件垄惧,今天主要講解的是各類選擇型控件嘹锁。

[步驟閱讀一]單選按鈕控件JRadioButton

之前我們學(xué)習(xí)了JSwing中的文本類型控件呆盖,可以讓用戶自由輸入文本信息呢灶,但是有的時(shí)候曾雕,我們需要讓用戶提供的信息和措,并不是隨意輸入的庄呈,而是有一定的范圍讓用戶選擇,比如用戶的性別派阱、興趣愛好诬留、所在城市等等場景,此時(shí)文本類型控件就有點(diǎn)無法滿足我們的需求了贫母,因此我們需要借助選擇型控件文兑。

首先我們來了解單選按鈕控件JRadioButton,它的特點(diǎn)是可以提供多個(gè)選項(xiàng)腺劣,讓用戶在多個(gè)選項(xiàng)中選擇一項(xiàng)绿贞,需要注意的是,用戶只能選擇其中的一個(gè)選項(xiàng)橘原,如果用戶修改了選項(xiàng)籍铁,之前的選項(xiàng)則會(huì)取消選中,這個(gè)效果我們一般稱為互斥效果趾断。我們通過一個(gè)簡單的選擇性別效果來體驗(yàn)下單選按鈕控件寨辩,核心代碼如下:

publicclassControllerFrameextendsJFrame{

publicControllerFrame(){

super("博為峰教育");

setBounds(200, 100, 300, 300);

setLayout(null);

// 實(shí)例化 單選按鈕 控件

JRadioButtonrb1=newJRadioButton("男");

rb1.setBounds(20, 20, 40, 25);

add(rb1);

JRadioButtonrb2=newJRadioButton("女");

rb2.setBounds(65, 20, 40, 25);

add(rb2);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

實(shí)例化窗體并且運(yùn)行,看到窗體效果如下:

但是僅僅這樣的話歼冰,單選按鈕之間是不會(huì)出現(xiàn)互斥效果的:

用戶可以同時(shí)選中多個(gè)屬性靡狞,沒有互斥效果,這是因?yàn)檫@兩個(gè)單選按鈕控件沒有存放在同一個(gè)按鈕分組中隔嫡,我們?cè)陂_發(fā)的時(shí)候千萬要注意甸怕,需要出現(xiàn)互斥效果的單選按鈕甘穿,必須要存放到同一個(gè)按鈕分組中,在同一個(gè)按鈕分組中的單選按鈕控件梢杭,才會(huì)出現(xiàn)互斥效果温兼。我們修改代碼如下:

publicclassControllerFrameextendsJFrame{

publicControllerFrame(){

super("博為峰教育");

setBounds(200, 100, 300, 300);

setLayout(null);

// 實(shí)例化 單選按鈕 控件

JRadioButtonrb1=newJRadioButton("男");

rb1.setBounds(20, 20, 40, 25);

add(rb1);

JRadioButtonrb2=newJRadioButton("女");

rb2.setBounds(65, 20, 40, 25);

add(rb2);

// 創(chuàng)建按鈕分組

ButtonGroupgroup=newButtonGroup();

// 將單選按鈕控件添加到按鈕分組中

group.add(rb1);

group.add(rb2);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

此時(shí),單選按鈕就會(huì)出現(xiàn)互斥效果了:

[步驟閱讀二]復(fù)選框控件JCheckBox

接下來小博老師再帶領(lǐng)大家了解復(fù)選框控件JCheckBox武契,它的特點(diǎn)是可以提供多個(gè)選項(xiàng)募判,讓用戶在多個(gè)選項(xiàng)中選擇多項(xiàng),需要注意的是咒唆,用戶可以選擇其中的多個(gè)選項(xiàng)届垫。我們通過一個(gè)簡單的選擇學(xué)習(xí)課程的效果來體驗(yàn)下復(fù)選框控件,核心代碼如下:

publicclassControllerFrameextendsJFrame{

publicControllerFrame(){

super("博為峰教育");

setBounds(200, 100, 300, 300);

setLayout(null);

// 實(shí)例化 單選按鈕 控件

JCheckBoxcbx1=newJCheckBox("全棧Java課程");

cbx1.setBounds(20, 20, 150, 25);

add(cbx1);

JCheckBoxcbx2=newJCheckBox("全棧UI+Web前端課程");

cbx2.setBounds(20, 50, 150, 25);

add(cbx2);

JCheckBoxcbx3=newJCheckBox("全棧iOS課程");

cbx3.setBounds(20, 80, 150, 25);

add(cbx3);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

實(shí)例化窗體并且運(yùn)行全释,看到窗體效果如下:

[步驟閱讀三]組合框控件JComboBox

接下來小博老師再帶領(lǐng)大家了解組合框控件JComboBox装处,它的特點(diǎn)和單選按鈕控件有點(diǎn)類似,可以提供多個(gè)選項(xiàng)浸船,讓用戶在多個(gè)選項(xiàng)中選擇一項(xiàng)妄迁,但是如果提供的選項(xiàng)比較多時(shí),會(huì)占用大量界面空間李命,因此組合框控件提供的選項(xiàng)是隱藏的登淘,用戶點(diǎn)擊了下拉按鈕時(shí),選項(xiàng)才會(huì)下拉顯示出來封字,選擇完后黔州,選項(xiàng)再次收縮隱藏。我們通過一個(gè)簡單的選擇學(xué)習(xí)校區(qū)的效果來體驗(yàn)下組合框控件周叮,核心代碼如下:

publicclassControllerFrameextendsJFrame{

publicControllerFrame(){

super("博為峰教育");

setBounds(200, 100, 300, 300);

setLayout(null);

// 為組合框控件準(zhǔn)備選項(xiàng)

String[]options=newString[]{

"上海漕河涇校區(qū)",

"北京回龍觀校區(qū)",

"深圳華強(qiáng)北校區(qū)",

"南京新街口校區(qū)",

"成都航空路校區(qū)",

};

// 實(shí)例化 組合框 控件

JComboBoxcbx=newJComboBox(options);

cbx.setBounds(20, 20, 150, 25);

add(cbx);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

實(shí)例化窗體并且運(yùn)行辩撑,看到窗體效果如下:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市仿耽,隨后出現(xiàn)的幾起案子合冀,更是在濱河造成了極大的恐慌,老刑警劉巖项贺,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件君躺,死亡現(xiàn)場離奇詭異,居然都是意外死亡开缎,警方通過查閱死者的電腦和手機(jī)棕叫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來奕删,“玉大人俺泣,你說我怎么就攤上這事。” “怎么了伏钠?”我有些...
    開封第一講書人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵横漏,是天一觀的道長。 經(jīng)常有香客問我熟掂,道長缎浇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任赴肚,我火速辦了婚禮素跺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘誉券。我一直安慰自己指厌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開白布横朋。 她就那樣靜靜地躺著仑乌,像睡著了一般百拓。 火紅的嫁衣襯著肌膚如雪琴锭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,521評(píng)論 1 304
  • 那天衙传,我揣著相機(jī)與錄音决帖,去河邊找鬼。 笑死蓖捶,一個(gè)胖子當(dāng)著我的面吹牛地回,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播俊鱼,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼刻像,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了并闲?” 一聲冷哼從身側(cè)響起细睡,我...
    開封第一講書人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎帝火,沒想到半個(gè)月后溜徙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡犀填,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年蠢壹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片九巡。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡图贸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情疏日,我是刑警寧澤乏盐,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站制恍,受9級(jí)特大地震影響父能,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜净神,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一何吝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鹃唯,春花似錦爱榕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至洪橘,卻和暖如春跪者,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背熄求。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來泰國打工渣玲, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人弟晚。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓忘衍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親卿城。 傳聞我的和親對(duì)象是個(gè)殘疾皇子枚钓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

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