Java 入門圖形用戶界面設(shè)計(jì)之復(fù)選框
Java程序設(shè)計(jì) 圖形用戶界面 【十】復(fù)選框
復(fù)選框JCheckBox
JCheckBox類
| 方法 | 作用 |
|---|---|
| public JCheckBox(Icon icon) | 創(chuàng)建一個帶圖標(biāo)的對象,但不選定 |
| public JCheckBox(Icon icon,boolean selected) | 創(chuàng)建一個帶圖標(biāo)的對象,并指定其是否選定 |
| public JCheckBox(String text) | 創(chuàng)建一個帶文本的對象,但不選定 |
| public JCheckBox(String text,boolean selected) | 創(chuàng)建一個帶文本的對象,并指定其是否選定 |
| public JCheckBox(String text,Icon icon,boolean selected) | 創(chuàng)建一個帶文本和圖標(biāo)的對象,并指定其是否被選定 |
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class MyCheckBox{
private JFrame frame = new JFrame("一");
private Container cont =frame.getContentPane();
private JCheckBox jcb1 = new JCheckBox("A");
private JCheckBox jcb2 = new JCheckBox("B");
private JCheckBox jcb3 = new JCheckBox("C");
private JPanel pan = new JPanel();
public MyCheckBox(){
pan.setBorder(BorderFactory.createTitledBorder("請選擇"));
pan.setLayout(new GridLayout(1,3));
pan.add(this.jcb1);
pan.add(this.jcb2);
pan.add(this.jcb3);
cont.add(pan);
this.frame.setSize(330,80);
this.frame.setVisible(true);
this.frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
System.exit(1);
}
});
}
}
public class Hello {
public static void main(String[] args) {
new MyCheckBox();
}
}

與單選按鈕不同的是,此時選擇的地方變成了“□”型,與各個系統(tǒng)中常見的復(fù)選框形式是一樣的
JCheckBox事件處理
JCheckBox和JRadioButton的事件處理監(jiān)聽接口是一樣的,都是使用ItemListener接口
使用ItemListener接口進(jìn)行事件的監(jiān)聽
| 方法 | 作用 |
|---|---|
| void itemStateChanged(ItemEvent e) | 當(dāng)用戶取消或選定某個選項(xiàng)時調(diào)用 |
ItemEvent類
| 方法&常量 | 類型 | 作用 |
|---|---|---|
| public static final int SELECTED | 常量 | 選項(xiàng)被選中 |
| public static final int DESELECTED | 常量 | 選項(xiàng)未被選中 |
| public Object getItem() | 方法 | 返回受事件影響的選項(xiàng) |
| public int getStateChange() | 方法 | 返回選定狀態(tài)的類型(已選擇或已取消) |
import javax.swing.*;
import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class MyCheckBox {
private JFrame frame = new JFrame("一");
private Container cont = frame.getContentPane();
private JCheckBox jcb1 = new JCheckBox("A");
private JPanel pan = new JPanel();
private JLabel a = new JLabel("未選中");
public MyCheckBox(){
pan.setLayout(new GridLayout(1,2));
pan.add(a);
pan.add(this.jcb1);
jcb1.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
JCheckBox jcb = (JCheckBox) e.getItem();
if(jcb.isSelected()){
a.setText("選中");
}else {
a.setText("未選中");
}
}
});
cont.add(pan);
this.frame.setSize(300,100);
this.frame.setVisible(true);
this.frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
System.exit(1);
}
});
}
}
public class Hello {
public static void main(String[] args) {
new MyCheckBox();
}
}


選中選項(xiàng)改變 文字
到此這篇關(guān)于Java 入門圖形用戶界面設(shè)計(jì)之復(fù)選框的文章就介紹到這了,更多相關(guān)Java 復(fù)選框內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IDEA巧用Postfix Completion讓碼速起飛(小技巧)
這篇文章主要介紹了IDEA巧用Postfix Completion讓碼速起飛,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
Java導(dǎo)出Excel統(tǒng)計(jì)報表合并單元格的方法詳解
我們在日常編程過程中,總是會碰見導(dǎo)出相關(guān)表格信息的需求,所以就讓我們一起來學(xué)習(xí)一下,這篇文章主要給大家介紹了關(guān)于Java導(dǎo)出Excel統(tǒng)計(jì)報表合并單元格的相關(guān)資料,需要的朋友可以參考下2021-10-10
java設(shè)計(jì)模式學(xué)習(xí)之裝飾模式
這篇文章主要為大家詳細(xì)介紹了java設(shè)計(jì)模式學(xué)習(xí)之裝飾模式的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10
Java設(shè)計(jì)模式單例模式(Singleton)用法解析
這篇文章主要介紹了Java設(shè)計(jì)模式單例模式(Singleton)用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11

