一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Swing常用組件之單選按鈕和復選框

Swing常用組件之單選按鈕和復選框

2020-04-26 11:13希文go JAVA教程

Swing是一個用于開發Java應用程序用戶界面的開發工具包,這篇文章主要介紹了Swing常用組件之單選按鈕和復選框,感興趣的朋友可以參考一下

本文為大家分享了Swing單選按鈕和復選框的使用方法,供大家參考,具體內容如下

JRadioButton構造函數:

JRadioButton():建立一個新的JRadioButton.
JRadioButton(Icon icon):建立一個有圖像但沒有文字的JRadioButton.
JRadioButton(Icon icon,boolean selected):建立一個有圖像但沒有文字的JRadioButton,且設置其初始狀態(有無被選取).
JRadioButton(String text):建立一個有文字的JRadioButton.
JRadioButton(String text,boolean selected):建立一個有文字的JRadioButton,且設置其初始狀態(有無被選取)。
JRadioButton(String text,Icon icon):建立一個有文字且有圖像的JRadioButton,初始狀態為無被選取。
JRadioButton(String text,Icon icon,boolean selected):建立一個有文字且有圖像的JRadioButton,且設置其初始狀態(有無被選取)
要將RadioButton改成單選,我們必須用到ButtonGroup這個類。這個類位于javax.swing這個package下面,ButtonGroup類的主 要功能是:同一時間內只會有一個組件的狀態為"on",其他皆為"off",也就是同一時間只有一個組件會被選取。而ButtonGroup類可 被AbstractButton下面的子類所使用,最常被使用的就是JRadioButton、JradioButtonMenu、Item與JToggleButton這些組件

ButtonGroup類的構造方法如下:

ButtonGroup()創建一個新的ButtonGroup()

ButtonGroup()類的常用的方法如下:
public void add(AbstractButton b):添加按鈕到組中
public void clearSelection():清除選中內容,即沒有選中按鈕組中的任何按鈕
pubic int getButtonCount():獲取此組中的按鈕數
public Enumeration<AbstractButton>getElemeent():獲取此組中的所用按鈕
public void remove (AbstractButton b):從按鈕中刪除按鈕

JCheckBox構造函數

JCheckBox():建立一個新的JChcekBox.
JCheckBox(Icon icon):建立一個有圖像但沒有文字的JCheckBox.
JCheckBox(Icon icon,boolean selected):建立一個有圖像但沒有文字的JCheckBox,且設置其初始狀態(有無被選取)。
JCheckBox(String text):建立一個有文字的JCheckBox.
JCheckBox(String text,boolean selected):建立一個有文字的JCheckBox,且設置其初始狀態(有無被選取)。
JCheckBox(String text,Icon icon):建立一個有文字且有圖像的JCheckBox,初始狀態為無被選取。
JCheckBox(String text,Icon icon,boolean selected):建立一個有文字且有圖像的JCheckBox,且設置其初始狀態(有無被選取 )。
當JCheckBox中的選項被選取 或取消時,它會觸發ItemEvent的事件,ItemEvent這個類共提供了4種方法可以使用,分別是getItem()、getItemSelectable()、 getStateChange()、paramString()。getItem()與paramString()方法會返回一些這個JCheckBox的狀態值。一般我們較少用到這兩 個方法。

getItemSelectable()相當于getSource()方法,一樣都是返回觸發事件的組件,用來判斷是那個組件產生事件。getSource()方法是EventObject類所提供,而所有事件類都會繼承這個類,因此所有的事件我們均能用getSource() 方法來判斷到底是哪個組件觸發了事件。

最后getStateChange()方法會返回此組件到底有沒有被選取。這個方法會返回一個整數值。而我們可以用ItemEvent所提供的類 變量;若被選取則返回SELECTED,若沒有被選取則返回DESELECTED.
單選按鈕和復選框注冊和注銷ItemEvent事件監聽器的方法如下:
public void addItemListener(ItemListener l): 注冊指定的ItemListener事件監聽器
public void removeItemListener(ItemListener l): 注銷指定的ItemListener事件監聽器

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package ch10;
 
import java.awt.event.*;
 
import javax.swing.*;
 
public class Vote extends JFrame implements ActionListener
{
   private JPanel jp = new JPanel();
   JRadioButton jrb1 = new JRadioButton("這個網站很好,很新穎!",true);
   JRadioButton jrb2 = new JRadioButton("這個網站很普通,太一般");
   JRadioButton jrb3 = new JRadioButton("這個網站很差,偶爾看一下");
   JRadioButton jrb4 = new JRadioButton("這個網站太差了,不來了");
   private JRadioButton[] jrb = new JRadioButton[]{jrb1,jrb2,jrb3,jrb4};
   private ButtonGroup bg = new ButtonGroup();
   JCheckBox jcb1 = new JCheckBox("界面比較漂亮");
   JCheckBox jcb2 = new JCheckBox("內容比較豐富");
   JCheckBox jcb3 = new JCheckBox("增值服務比較好");
   JCheckBox jcb4 = new JCheckBox("會員服務比較好");
   private JCheckBox[] jcb =new JCheckBox[]{jcb1,jcb2,jcb3,jcb4};
   private JButton [] jb = {new JButton("我要投票"),new JButton("我要重選")};
   private JLabel[] jl = {new JLabel("這個網站給你的印象是:"),new JLabel("您認為本站哪里做的比較好"),new JLabel("您投票的內容是:")};
   private JTextArea jt = new JTextArea();
   private JScrollPane js= new JScrollPane(jt);
   public Vote()
   {
     jp.setLayout(null);
     for(int i=0;i<4;i++)
     {
       jrb[i].setBounds(30+170*i,40,170,30);
       jcb[i].setBounds(30+120*i,100,120,30);
       jp.add(jrb[i]);
       jp.add(jcb[i]);
       jcb[i].addActionListener(this);
       jrb[i].addActionListener(this);
       bg.add(jrb[i]);
       if(i>1)
         continue;
       jl[i].setBounds(20,20+50*i,200,30);
       jb[i].setBounds(380+120*i,200,100,20);
       jp.add(jl[i]);
       jp.add(jb[i]);
       jb[i].addActionListener(this);
     }
     jl[2].setBounds(20,150,120,30);
     jp.add(jl[2]);
     js.setBounds(120,150,500,50);
     jp.add(js);
     jt.setLineWrap(true);
     jt.setEditable(false);
     this.add(jp);
     this.setTitle("網站滿意調查表");
     this.setBounds(150,150,750,300);
     this.setVisible(true);
     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   }
   public void actionPerformed(ActionEvent a)
   {
     if(a.getSource()==jb[1])
     {
       bg.clearSelection();
       for(int i=0;i<jcb.length;i++)
         jcb[i].setSelected(false);
       jt.setText("");
     }
     else
     {
       StringBuffer temp1 = new StringBuffer("你認為這個網站");
       StringBuffer temp2 = new StringBuffer("");
       for(int i=0;i<4;i++)
       {
         if(jrb[i].isSelected())
           temp1.append(jrb[i].getText());
         if(jcb[i].isSelected())
           temp2.append(jcb[i].getText()+",");
       }
       if(temp2.length()==0)
         jt.setText("請將兩項調查都選擇");
       else
       {
         temp1.append("你認為這個網站");
         temp1.append(temp2.substring(0,temp2.length()-1));
         jt.setText(temp1.toString());
       }
     }
   }
   public static void main(String args[])
   {
     new Vote();
   }
}

效果圖:

Swing常用組件之單選按鈕和復選框

以上就是本文的全部內容,希望對大家的學習有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费看60分钟大片视频播放 | 侮辱丰满美丽的人妻 | 男女车车好快的车车免费网站 | 午夜人妻理论片天堂影院 | 男人的天堂va | 美女被视频网站 | 九色PORNY蝌蚪视频首页 | 五月天淫| 99热在线免费观看 | 国产欧美日韩精品一区二 | 日本精品久久久久久久久免费 | 波多野结衣黑人系列在线观看 | 色交视频 | 欧美日韩一区二区中文字幕视频 | 西西人体大胆77777视频 | 99爱在线| 精品国产91久久久久久久a | 久久视频这里只精品99热在线观看 | 电车痴汉中文字幕 | 精品videoss另类日本 | 亚洲成aⅴ人片在线 | 国产精品视频在这里有精品 | 新影音先锋男人色资源网 | 国产成人精品实拍在线 | 男人与禽交的方法 | 牛牛色婷婷在线视频播放 | 亚洲高清免费在线观看 | 男人操男人 | 国产精品嫩草影院在线看 | 日本免费v片一二三区 | 无遮挡激情 | 午夜福利理论片在线播放 | 国产一区二区免费不卡在线播放 | 亚洲精品一二三四区 | 亚洲男男video | 九九免费高清在线观看视频 | 精品欧美日韩一区二区三区 | 海角社区在线视频 | 男人曰女人 | 亚洲欧洲日产v特级毛片 | 欧美精选欧美极品 |