程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java選擇框、單選框和單選按鈕

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

編輯:關於JAVA

java選擇框、單選框和單選按鈕。本站提示廣大學習愛好者:(java選擇框、單選框和單選按鈕)文章只能為提供參考,不一定能成為您想要的結果。以下是java選擇框、單選框和單選按鈕正文


選擇框、單選框和單選按鈕都是選擇組件,選擇組件有兩種狀況,一種是選中(on),另外一種是未選中(off),它們供給一種簡略的 “on/off”選擇功效,讓用戶在一組選擇項目中作選擇。

選擇框

選擇框(JCheckBox)的選中與否開狀是一個小方框,被選中則在框中打勾。當在一個容器中有多個選擇框,同時可以有多個選擇框被選中,如許的選擇框也稱復選框。與選擇框相干的接口是ItemListener,事宜類是ItemEvent。

JCheckBox類經常使用的結構辦法有以下3個:

1.JCheckBox():用空題目結構選擇框。
2.JCheckBox(String s):用給定的題目s結構選擇框。
3.JCheckBox(String s, boolean b):用給定的題目s結構選擇框,參數b設置選中與否的初始狀況。

JCheckBox類的其他經常使用辦法以下:

1.getState():獲得選擇框的狀況。
2.setState(boolean b):設置選擇框的狀況
3.getLabel():獲得選擇框的題目。
4.setLabel(String s):設置選擇框的題目。
5.isSelected():獲得選擇框能否被選中的狀況。
6.itemStateChanged(ItemEvent e):處置選擇框事宜的接口辦法。
7.getItemSelectable():獲得可選項,獲得事宜源。
8.addItemListener(ItemListener l):為選擇框設定監督器。
9.removeItemListener(ItemListener l):移去選擇框的監督器。

【例 11-11】聲明一個面板子類,面板子類對象有3個選擇框。

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

單選框

當在一個容器中放入多個選擇框,且沒有ButtonGroup對象將它們分組,則可以同時選中多個選擇框。假如應用ButtonGroup對象將選擇框分組,統一時辰組內的多個選擇框只許可有一個被選中,稱統一組內的選擇框為單選框。單選框分組的辦法是先創立ButtonGroup對象,然後將願望為同組的選擇框添加到統一個ButtonGroup對象中。拜見例6.2法式的面板子類Panel2的聲明,組內有3個單選框。

單選按鈕

單選按鈕(JRadioButton)的功效與單選框類似。應用單選按鈕的辦法是將一些單選按鈕用ButtonGroup對象分組,使統一組的單選按鈕只許可有一個被選中。單選按鈕與單選框的差別是顯示的款式分歧,單選按鈕是一個圓形的按鈕,單選框是一個小方框。

JRadioButton類的經常使用結構辦法有以下幾個:
1.JRadioButton():用空題目結構單選按鈕。
2.JRadioButton(String s):用給定的題目s結構單選按鈕。
3.JRadioButton(String s,boolean b):用給定的題目s結構單選按鈕,參數b設置選中與否的初始狀況。

單選按鈕應用時須要應用ButtonGroup將單選按鈕分組,單選按鈕的分組辦法是先創立對象,然後將同組的單選按鈕添加到統一個ButtonGroup對象中。拜見例6.2法式的子類panel1的聲明,組內有3個單選按鈕。

選擇項目事宜處置

用戶對選擇框或單選按鈕做出選擇後,法式應對這個選擇作出需要的呼應,法式為此要處置選擇項目事宜。選擇項目處置法式的根本內容有:

1.監督選擇項目對象的類要完成接口ItemListener,
2.法式要聲明和樹立選擇對象,
3.為選擇對象注冊監督器,
4.編寫處置選擇項目事宜的接口辦法itemStateChanged(ItemEvent e),在該辦法內用getItemSelectable()辦法獲得事宜源,並作響應處置。

【例 11-12】處置選擇項目事宜的小運用法式。一個由3個單選按鈕構成的產物選擇組,被選中某個產物時,文本區將顯示該產物的信息。一個由3個選擇框構成的購置產物數目選擇框組,被選擇了購置數目後,在另外一個文本框顯示每台價錢。

 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]+"盤算機",false);
     box2 = new JRadioButton(MyWindow.fName[1]+"盤算機",false);
     box3 = new JRadioButton(MyWindow.fName[2]+"盤算機",false);
     g.add(box1);g.add(box2);g.add(box3);
     add(box1);add(box2);add(box3);
     add(new JLabel("盤算機3選1") );
   }
 }
 class Panel2 extends JPanel{
   JCheckBox box1,box2,box3;
   ButtonGroup g;
   Panel2(){
     setLayout(new GridLayout(1,3));
     g = new ButtonGroup();
     box1 = new JCheckBox("購置1台 ");
     box2 = new JCheckBox("購置2台 ");
     box3 = new JCheckBox("購置3台 ");
     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("產物引見",JLabel.CENTER);
     label2 = new JLabel("產物價錢",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){ //選項狀況已轉變
     if(e.getItemSelectable()==panel1.box1){ //獲得可選項
       production =0;
       text1.setText(fName[0]+"公司臨盆");text2.setText("");
     }
     else if(e.getItemSelectable()==panel1.box2){
       production =1;
       text1.setText(fName[1]+"公司臨盆");text2.setText("");
     }
     else if(e.getItemSelectable()==panel1.box3){
       production =2;
       text1.setText(fName[2]+"公司臨盆");text2.setText("");
     }
     else{
       if(production ==-1) return;
       if(e.getItemSelectable()==panel2.box1){
         text2.setText(""+priTbl[production][0]+"萬元/台");
       }
       else if(e.getItemSelectable()==panel2.box2){
         text2.setText(""+priTbl[production][1]+"萬元/台");
       }
       else if(e.getItemSelectable()==panel2.box3){
         text2.setText(""+priTbl[production][2]+"萬元/台");
       }
     }
   }
 }
 public class Example6_2 extends Applet{
   MyWindow myWin = new MyWindow("選擇項目處置示例法式");
 }

以上所述就是本文的全體內容了,願望年夜家可以或許愛好。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved