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

java選擇框、單選框和單選按鈕

 更新時(shí)間:2015年06月10日 10:06:41   投稿:hebedich  
本文給大家介紹的是java中選擇框、單選框和單選按鈕的操作方法,十分的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。

選擇框、單選框和單選按鈕都是選擇組件,選擇組件有兩種狀態(tài),一種是選中(on),另一種是未選中(off),它們提供一種簡(jiǎn)單的 “on/off”選擇功能,讓用戶在一組選擇項(xiàng)目中作選擇。

選擇框

選擇框(JCheckBox)的選中與否開狀是一個(gè)小方框,被選中則在框中打勾。當(dāng)在一個(gè)容器中有多個(gè)選擇框,同時(shí)可以有多個(gè)選擇框被選中,這樣的選擇框也稱復(fù)選框。與選擇框相關(guān)的接口是ItemListener,事件類是ItemEvent。

JCheckBox類常用的構(gòu)造方法有以下3個(gè):

1.JCheckBox():用空標(biāo)題構(gòu)造選擇框。
2.JCheckBox(String s):用給定的標(biāo)題s構(gòu)造選擇框。
3.JCheckBox(String s, boolean b):用給定的標(biāo)題s構(gòu)造選擇框,參數(shù)b設(shè)置選中與否的初始狀態(tài)。

JCheckBox類的其他常用方法如下:

1.getState():獲取選擇框的狀態(tài)。
2.setState(boolean b):設(shè)置選擇框的狀態(tài)
3.getLabel():獲取選擇框的標(biāo)題。
4.setLabel(String s):設(shè)置選擇框的標(biāo)題。
5.isSelected():獲取選擇框是否被選中的狀態(tài)。
6.itemStateChanged(ItemEvent e):處理選擇框事件的接口方法。
7.getItemSelectable():獲取可選項(xiàng),獲取事件源。
8.addItemListener(ItemListener l):為選擇框設(shè)定監(jiān)視器。
9.removeItemListener(ItemListener l):移去選擇框的監(jiān)視器。

【例 11-11】聲明一個(gè)面板子類,面板子類對(duì)象有3個(gè)選擇框。

class Panel1 extends JPanel{
    JCheckBox box1,box2,box3;
    Panel1(){
        box1 = new JCheckBox(“足球”);
        box2 = new JCheckBox(“排球”);
        box2 = new JCheckBox(“籃球”);
    }
}

單選框

當(dāng)在一個(gè)容器中放入多個(gè)選擇框,且沒有ButtonGroup對(duì)象將它們分組,則可以同時(shí)選中多個(gè)選擇框。如果使用ButtonGroup對(duì)象將選擇框分組,同一時(shí)刻組內(nèi)的多個(gè)選擇框只允許有一個(gè)被選中,稱同一組內(nèi)的選擇框?yàn)閱芜x框。單選框分組的方法是先創(chuàng)建ButtonGroup對(duì)象,然后將希望為同組的選擇框添加到同一個(gè)ButtonGroup對(duì)象中。參見例6.2程序的面板子類Panel2的聲明,組內(nèi)有3個(gè)單選框。

單選按鈕

單選按鈕(JRadioButton)的功能與單選框相似。使用單選按鈕的方法是將一些單選按鈕用ButtonGroup對(duì)象分組,使同一組的單選按鈕只允許有一個(gè)被選中。單選按鈕與單選框的差異是顯示的樣式不同,單選按鈕是一個(gè)圓形的按鈕,單選框是一個(gè)小方框。

JRadioButton類的常用構(gòu)造方法有以下幾個(gè):
1.JRadioButton():用空標(biāo)題構(gòu)造單選按鈕。
2.JRadioButton(String s):用給定的標(biāo)題s構(gòu)造單選按鈕。
3.JRadioButton(String s,boolean b):用給定的標(biāo)題s構(gòu)造單選按鈕,參數(shù)b設(shè)置選中與否的初始狀態(tài)。

單選按鈕使用時(shí)需要使用ButtonGroup將單選按鈕分組,單選按鈕的分組方法是先創(chuàng)建對(duì)象,然后將同組的單選按鈕添加到同一個(gè)ButtonGroup對(duì)象中。參見例6.2程序的子類panel1的聲明,組內(nèi)有3個(gè)單選按鈕。

選擇項(xiàng)目事件處理

用戶對(duì)選擇框或單選按鈕做出選擇后,程序應(yīng)對(duì)這個(gè)選擇作出必要的響應(yīng),程序?yàn)榇艘幚磉x擇項(xiàng)目事件。選擇項(xiàng)目處理程序的基本內(nèi)容有:

1.監(jiān)視選擇項(xiàng)目對(duì)象的類要實(shí)現(xiàn)接口ItemListener,
2.程序要聲明和建立選擇對(duì)象,
3.為選擇對(duì)象注冊(cè)監(jiān)視器,
4.編寫處理選擇項(xiàng)目事件的接口方法itemStateChanged(ItemEvent e),在該方法內(nèi)用getItemSelectable()方法獲取事件源,并作相應(yīng)處理。

【例 11-12】處理選擇項(xiàng)目事件的小應(yīng)用程序。一個(gè)由3個(gè)單選按鈕組成的產(chǎn)品選擇組,當(dāng)選中某個(gè)產(chǎn)品時(shí),文本區(qū)將顯示該產(chǎn)品的信息。一個(gè)由3個(gè)選擇框組成的購(gòu)買產(chǎn)品數(shù)量選擇框組,當(dāng)選擇了購(gòu)買數(shù)量后,在另一個(gè)文本框顯示每臺(tái)價(jià)格。

 import java.applet.*;
 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.*;
 class Panel1 extends JPanel{
   JRadioButton box1,box2,box3;
   ButtonGroup g;
   Panel1(){
     setLayout(new GridLayout(1,3));
     g = new ButtonGroup();
     box1 = new JRadioButton(MyWindow.fName[0]+"計(jì)算機(jī)",false);
     box2 = new JRadioButton(MyWindow.fName[1]+"計(jì)算機(jī)",false);
     box3 = new JRadioButton(MyWindow.fName[2]+"計(jì)算機(jī)",false);
     g.add(box1);g.add(box2);g.add(box3);
     add(box1);add(box2);add(box3);
     add(new JLabel("計(jì)算機(jī)3選1") );
   }
 }
 class Panel2 extends JPanel{
   JCheckBox box1,box2,box3;
   ButtonGroup g;
   Panel2(){
     setLayout(new GridLayout(1,3));
     g = new ButtonGroup();
     box1 = new JCheckBox("購(gòu)買1臺(tái) ");
     box2 = new JCheckBox("購(gòu)買2臺(tái) ");
     box3 = new JCheckBox("購(gòu)買3臺(tái) ");
     g.add(box1);g.add(box2);g.add(box3);
     add(box1);add(box2);add(box3);
     add(new JLabel(" 選擇1、2或3"));
   }
 }
 class MyWindow extends JFrame implements ItemListener{
   Panel1 panel1;
   Panel2 panel2;
   JLabel label1,label2;
   JTextArea text1,text2;
   static String fName[] = {"HP","IBM","DELL"};
   static double priTbl[][]={{1.20,1.15,1.10},{1.70,1.65,1.60},{1.65,1.60,1.58}};
   static int productin = -1;
   MyWindow(String s){
     super(s);
     Container con = this.getContentPane();
     con.setLayout(new GridLayout(3,2));
     this.setLocation(100,100);
     this.setSize(400,100);
     panel1 = new Panel1();panel2 = new Panel2();
     label1 = new JLabel("產(chǎn)品介紹",JLabel.CENTER);
     label2 = new JLabel("產(chǎn)品價(jià)格",JLabel.CENTER);
     text1 = new JTextArea();text2 = new JTextArea();
     con.add(label1);con.add(label2);con.add(panel1);
     con.add(panel2);con.add(text1);con.add(text2);
     panel1.box1.addItemListener(this);
     panel1.box2.addItemListener(this);
     panel1.box3.addItemListener(this);
     panel2.box1.addItemListener(this);
     panel2.box2.addItemListener(this);
     panel2.box3.addItemListener(this);
     this.setVisible(true);this.pack();
   }
   public void itemStateChanged(ItemEvent e){ //選項(xiàng)狀態(tài)已改變
     if(e.getItemSelectable()==panel1.box1){ //獲取可選項(xiàng)
       production =0;
       text1.setText(fName[0]+"公司生產(chǎn)");text2.setText("");
     }
     else if(e.getItemSelectable()==panel1.box2){
       production =1;
       text1.setText(fName[1]+"公司生產(chǎn)");text2.setText("");
     }
     else if(e.getItemSelectable()==panel1.box3){
       production =2;
       text1.setText(fName[2]+"公司生產(chǎn)");text2.setText("");
     }
     else{
       if(production ==-1) return;
       if(e.getItemSelectable()==panel2.box1){
         text2.setText(""+priTbl[production][0]+"萬(wàn)元/臺(tái)");
       }
       else if(e.getItemSelectable()==panel2.box2){
         text2.setText(""+priTbl[production][1]+"萬(wàn)元/臺(tái)");
       }
       else if(e.getItemSelectable()==panel2.box3){
         text2.setText(""+priTbl[production][2]+"萬(wàn)元/臺(tái)");
       }
     }
   }
 }
 public class Example6_2 extends Applet{
   MyWindow myWin = new MyWindow("選擇項(xiàng)目處理示例程序");
 }

以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • SpringBoot自動(dòng)重啟、熱啟動(dòng)方式

    SpringBoot自動(dòng)重啟、熱啟動(dòng)方式

    這篇文章主要介紹了SpringBoot自動(dòng)重啟、熱啟動(dòng)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Java如何將大文件切割成小文件

    Java如何將大文件切割成小文件

    這篇文章主要為大家詳細(xì)介紹了Java如何將大文件切割成小文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • SpringBoot處理接口冪等性的兩種方法詳解

    SpringBoot處理接口冪等性的兩種方法詳解

    接口冪等性處理算是一個(gè)非常常見的需求了,我們?cè)诤芏囗?xiàng)目中其實(shí)都會(huì)遇到。本文為大家總結(jié)了兩個(gè)處理接口冪等性的兩種常見方案,需要的可以參考一下
    2022-06-06
  • Java使用PDFBox渲染生成pdf文檔的代碼詳解

    Java使用PDFBox渲染生成pdf文檔的代碼詳解

    使用PDFBox可以渲染生成pdf文檔,并且自定義程度高,只是比較麻煩,這篇文章將為大家詳細(xì)介紹一下具體的實(shí)現(xiàn)方法,感興趣的小伙伴可以參考一下
    2025-04-04
  • Flowable歷史查詢實(shí)例分析

    Flowable歷史查詢實(shí)例分析

    這篇文章主要介紹了Flowable歷史查詢實(shí)例分析,歷史是記錄流程執(zhí)行過(guò)程中發(fā)生的事情,并將其永久存儲(chǔ)的組件,與運(yùn)行時(shí)數(shù)據(jù)不同,歷史數(shù)據(jù)在流程實(shí)例完成以后仍保存在數(shù)據(jù)庫(kù)中,下面我們來(lái)深入了解
    2023-10-10
  • 淺談java中字符串?dāng)?shù)組、字符串、整形之間的轉(zhuǎn)換

    淺談java中字符串?dāng)?shù)組、字符串、整形之間的轉(zhuǎn)換

    這篇文章主要介紹了淺談java中字符串?dāng)?shù)組、字符串、整形之間的轉(zhuǎn)換,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • 淺談java中OO的概念和設(shè)計(jì)原則(必看)

    淺談java中OO的概念和設(shè)計(jì)原則(必看)

    下面小編就為大家?guī)?lái)一篇淺談java中OO的概念和設(shè)計(jì)原則(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Java實(shí)現(xiàn)AES/CBC/PKCS7Padding加解密的方法

    Java實(shí)現(xiàn)AES/CBC/PKCS7Padding加解密的方法

    這篇文章主要介紹了Java實(shí)現(xiàn)AES/CBC/PKCS7Padding加解密的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java編程cas操作全面解析

    Java編程cas操作全面解析

    這篇文章通過(guò)實(shí)例,解析了Java編程中cas操作的概念、原理以及用法,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-09-09
  • Java應(yīng)用程序CPU100%問(wèn)題排查優(yōu)化實(shí)戰(zhàn)

    Java應(yīng)用程序CPU100%問(wèn)題排查優(yōu)化實(shí)戰(zhàn)

    這篇文章主要介紹了如何排查和優(yōu)化Java應(yīng)用程序CPU使用率達(dá)到100%的問(wèn)題,文中通過(guò)代碼示例和圖文結(jié)合的方式講解的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2025-02-02

最新評(píng)論

岳阳县| 武穴市| 宁蒗| 溧阳市| 平南县| 绥化市| 淮安市| 邵阳县| 固安县| 泗阳县| 钦州市| 鄄城县| 霸州市| 福贡县| 永济市| 巴里| 长宁区| 灵丘县| 甘南县| 钦州市| 湖口县| 泊头市| 牡丹江市| 延津县| 陆川县| 娄烦县| 蓬安县| 修武县| 牟定县| 长岭县| 安塞县| 潮州市| 汤阴县| 吉林省| 沂南县| 正定县| 麻江县| 灵台县| 汤阴县| 石首市| 沙坪坝区|