国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

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

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

服務器之家 - 編程語言 - JAVA教程 - java選擇框、單選框和單選按鈕

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

2019-12-21 14:51hebedich 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個選擇框組成的購買產品數量選擇框組,當選擇了購買數量后,在另一個文本框顯示每臺價格。

?
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
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("選擇項目處理示例程序");
}

以上所述就是本文的全部內容了,希望大家能夠喜歡。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 自拍在线| 久久久久久99 | 精品久久一区二区三区 | 依人九九宗合九九九 | 草久网| 蜜桃精品在线 | 国产在线精品一区二区 | 久久久久久亚洲 | 自拍第1页 | 日本在线网 | 欧美日韩一区二区三区在线观看 | 榴莲视频成人在线观看 | 亚洲性片| 日韩欧美不卡 | 成年人免费看 | 人人澡人人射 | 亚洲一卡二卡 | 日韩中文字幕一区二区三区 | 男女激情网站 | 亚洲毛片在线 | av成人在线电影 | 久久大陆| 青草成人免费视频 | 九九亚洲精品 | 国产黄色免费网站 | 中国精品一区二区 | 精品成人一区二区 | 久久精品高清 | 成年人黄色影院 | 激情免费视频 | 国产在线成人 | 久久精品一 | 激情综合在线观看 | 日韩成人精品在线 | 91亚色 | 欧美日韩国产中文 | 国产精品一区在线观看 | 亚洲午夜一区 | 久久亚洲综合 | 国产精品色婷婷亚洲综合看 | 可以免费看黄的网站 |