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

[引言]前端

咱們在學習Java編程的時候,若是須要開發客戶端窗體類型的程序,可使用JDK中的awt和swing庫。本文開始小博老師就繼續爲你們演示Java窗體編程中的各種控件,今天主要講解的是各種選擇型控件。編程

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

以前咱們學習了JSwing中的文本類型控件,可讓用戶自由輸入文本信息,可是有的時候,咱們須要讓用戶提供的信息,並非隨意輸入的,而是有必定的範圍讓用戶選擇,好比用戶的性別、興趣愛好、所在城市等等場景,此時文本類型控件就有點沒法知足咱們的需求了,所以咱們須要藉助選擇型控件。code

首先咱們來了解單選按鈕控件JRadioButton,它的特色是能夠提供多個選項,讓用戶在多個選項中選擇一項,須要注意的是,用戶只能選擇其中的一個選項,若是用戶修改了選項,以前的選項則會取消選中,這個效果咱們通常稱爲互斥效果。咱們經過一個簡單的選擇性別效果來體驗下單選按鈕控件,核心代碼以下:blog

public class ControllerFrame extends JFrame{ip

public ControllerFrame(){開發

super("博爲峯教育");get

setBounds(200, 100, 300, 300);io

setLayout(null);class

// 實例化 單選按鈕 控件

JRadioButton rb1 = new JRadioButton("男");

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

add(rb1);

JRadioButton rb2 = new JRadioButton("女");

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

add(rb2);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

實例化窗體而且運行,看到窗體效果以下:


 

可是僅僅這樣的話,單選按鈕之間是不會出現互斥效果的:

 

用戶能夠同時選中多個屬性,沒有互斥效果,這是由於這兩個單選按鈕控件沒有存放在同一個按鈕分組中,咱們在開發的時候千萬要注意,須要出現互斥效果的單選按鈕,必需要存放到同一個按鈕分組中,在同一個按鈕分組中的單選按鈕控件,纔會出現互斥效果。咱們修改代碼以下:

public class ControllerFrame extends JFrame{

public ControllerFrame(){

super("博爲峯教育");

setBounds(200, 100, 300, 300);

setLayout(null);

// 實例化 單選按鈕 控件

JRadioButton rb1 = new JRadioButton("男");

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

add(rb1);

JRadioButton rb2 = new JRadioButton("女");

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

add(rb2);

// 建立按鈕分組

ButtonGroup group = new ButtonGroup();

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

group.add(rb1);

group.add(rb2);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

此時,單選按鈕就會出現互斥效果了:

 

[步驟閱讀二]複選框控件JCheckBox

接下來小博老師再帶領你們瞭解複選框控件JCheckBox,它的特色是能夠提供多個選項,讓用戶在多個選項中選擇多項,須要注意的是,用戶能夠選擇其中的多個選項。咱們經過一個簡單的選擇學習課程的效果來體驗下複選框控件,核心代碼以下:

public class ControllerFrame extends JFrame{

public ControllerFrame(){

super("博爲峯教育");

setBounds(200, 100, 300, 300);

setLayout(null);

// 實例化 單選按鈕 控件

JCheckBox cbx1 = new JCheckBox("全棧Java課程");

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

add(cbx1);

JCheckBox cbx2 = new JCheckBox("全棧UI+Web前端課程");

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

add(cbx2);

JCheckBox cbx3 = new JCheckBox("全棧iOS課程");

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

add(cbx3);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

實例化窗體而且運行,看到窗體效果以下:

 

 

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

接下來小博老師再帶領你們瞭解組合框控件JComboBox,它的特色和單選按鈕控件有點相似,能夠提供多個選項,讓用戶在多個選項中選擇一項,可是若是提供的選項比較多時,會佔用大量界面空間,所以組合框控件提供的選項是隱藏的,用戶點擊了下拉按鈕時,選項纔會下拉顯示出來,選擇完後,選項再次收縮隱藏。咱們經過一個簡單的選擇學習校區的效果來體驗下組合框控件,核心代碼以下:

public class ControllerFrame extends JFrame{

public ControllerFrame(){

super("博爲峯教育");

setBounds(200, 100, 300, 300);

setLayout(null);

// 爲組合框控件準備選項

String[] options = new String[]{

"上海漕河涇校區",

"北京回龍觀校區",

"深圳華強北校區",

"南京新街口校區",

"成都航空路校區",

};

// 實例化 組合框 控件

JComboBox cbx = new JComboBox(options);

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

add(cbx);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

實例化窗體而且運行,看到窗體效果以下:

 

相關文章
相關標籤/搜索