最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2016年05月08日 17:45:29   作者:希文go  
Swing是一個用于開發(fā)Java應用程序用戶界面的開發(fā)工具包,這篇文章主要介紹了Swing常用組件之單選按鈕和復選框,感興趣的朋友可以參考一下

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

JRadioButton構造函數(shù):

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

ButtonGroup類的構造方法如下:

ButtonGroup()創(chuàng)建一個新的ButtonGroup()

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

JCheckBox構造函數(shù)

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

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

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

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("這個網(wǎng)站很好,很新穎!",true); 
   JRadioButton jrb2 = new JRadioButton("這個網(wǎng)站很普通,太一般"); 
   JRadioButton jrb3 = new JRadioButton("這個網(wǎng)站很差,偶爾看一下"); 
   JRadioButton jrb4 = new JRadioButton("這個網(wǎng)站太差了,不來了"); 
   private JRadioButton[] jrb = new JRadioButton[]{jrb1,jrb2,jrb3,jrb4}; 
   private ButtonGroup bg = new ButtonGroup(); 
   JCheckBox jcb1 = new JCheckBox("界面比較漂亮"); 
   JCheckBox jcb2 = new JCheckBox("內(nèi)容比較豐富"); 
   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("這個網(wǎng)站給你的印象是:"),new JLabel("您認為本站哪里做的比較好"),new JLabel("您投票的內(nèi)容是:")}; 
   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("網(wǎng)站滿意調(diào)查表"); 
     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("你認為這個網(wǎng)站"); 
       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("請將兩項調(diào)查都選擇"); 
       else 
       { 
         temp1.append("你認為這個網(wǎng)站"); 
         temp1.append(temp2.substring(0,temp2.length()-1)); 
         jt.setText(temp1.toString()); 
       } 
     } 
   } 
   public static void main(String args[]) 
   { 
     new Vote(); 
   } 
}

效果圖:


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

相關文章

  • Java操作MongoDB數(shù)據(jù)庫的示例代碼

    Java操作MongoDB數(shù)據(jù)庫的示例代碼

    這篇文章主要介紹了Java操作MongoDB的示例代碼,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下
    2021-04-04
  • spring boot使用自定義注解做AOP的案例代碼

    spring boot使用自定義注解做AOP的案例代碼

    這篇文章主要介紹了spring boot使用自定義注解做AOP的案例代碼,代碼簡單易懂,通過創(chuàng)建一個自定注解,接收一個傳值type,感興趣的朋友一起看看吧
    2024-06-06
  • MyBatis官方代碼生成工具給力(解放雙手)

    MyBatis官方代碼生成工具給力(解放雙手)

    這篇文章主要介紹了MyBatis官方代碼生成工具給力(解放雙手),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • 深入解析SpringBoot自動配置原理

    深入解析SpringBoot自動配置原理

    這篇文章主要介紹了深入解析SpringBoot自動配置原理,SpringBoot?的一大好處就是:大大簡化了?Spring?和其他框架的整合配置,為了簡化配置文件使開發(fā)者更專注于業(yè)務編碼,可以使用?SpringBoot?來進行?Web?開發(fā),需要的朋友可以參考下
    2023-11-11
  • Java Integer.ValueOf()的一些了解

    Java Integer.ValueOf()的一些了解

    這篇文章主要介紹了Java Integer.ValueOf()的一些了解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • Java page cache回寫機制案例詳解

    Java page cache回寫機制案例詳解

    這篇文章主要介紹了Java page cache回寫機制案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • java synchronized的用法及原理詳解

    java synchronized的用法及原理詳解

    如果要保證并發(fā)情況下多線程共享數(shù)據(jù)的訪問安全,操作的原子性,就可以使用synchronized關鍵字。這篇文章主要介紹了java synchronized的用法及原理,需要的朋友可以借鑒一下
    2021-08-08
  • SpringBoot項目啟動后立馬自動關閉的解決方案

    SpringBoot項目啟動后立馬自動關閉的解決方案

    這篇文章主要介紹了SpringBoot項目啟動后立馬自動關閉的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Java中的zookeeper常用命令詳解

    Java中的zookeeper常用命令詳解

    這篇文章主要介紹了Java中的zookeeper常用命令,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • springboot下使用shiro自定義filter的個人經(jīng)驗分享

    springboot下使用shiro自定義filter的個人經(jīng)驗分享

    這篇文章主要介紹了springboot下使用shiro自定義filter的個人經(jīng)驗,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評論

登封市| 九龙坡区| 陆良县| 蒲城县| 和硕县| 策勒县| 井陉县| 林周县| 秀山| 改则县| 灌云县| 贵溪市| 讷河市| 茂名市| 满洲里市| 呼伦贝尔市| 云南省| 当雄县| 获嘉县| 巴彦淖尔市| 武宣县| 长丰县| 泰顺县| 汤原县| 广灵县| 琼中| 颍上县| 峨眉山市| 察隅县| 怀远县| 内乡县| 云浮市| 花莲县| 平阳县| 肇州县| 麻江县| 阜新| 化德县| 阿城市| 张家川| 兴国县|