java 선택 상자, 선택 상자, 선택 단추

선택 상자, 라디오 상자, 라디오 단추는 모두 구성 요소를 선택하는 것입니다. 구성 요소를 선택하는 데는 두 가지 상태가 있습니다. 하나는 선택 (on) 이고, 다른 하나는 선택하지 않은 (off) 입니다. 이것은 간단한 "on/off"선택 기능을 제공하여 사용자가 한 그룹의 선택 항목에서 선택할 수 있도록 합니다.
선택 상자
선택 상자(JCheckBox)의 선택 여부는 작은 네모난 상자이며, 선택되면 상자에 체크합니다.하나의 용기에 여러 개의 선택 상자가 있을 때, 동시에 여러 개의 선택 상자가 선택될 수 있으며, 이러한 선택 상자는 체크 상자라고도 부른다.선택 상자와 관련된 인터페이스는 ItemListener이고 이벤트 클래스는 ItemEvent입니다.
JCHECKBox 클래스에서 자주 사용하는 구조 방법은 다음과 같습니다.
1. JCheckBox(): 빈 머리글을 사용하여 선택 상자를 구성합니다.
2. JCheckBox(Strings): 주어진 제목 s로 선택 상자를 구성합니다.
3. JCheckBox(Strings,booleanb): 주어진 제목s로 선택 상자를 구성하고 매개 변수 b로 선택 여부의 초기 상태를 설정합니다.
JCHECKBox 클래스의 다른 일반적인 방법은 다음과 같습니다.
1.getState(): 선택 상자의 상태를 가져옵니다.
2.setState(boolean b): 선택 상자의 상태 설정
3.getLabel(): 선택 상자의 제목을 가져옵니다.
4.setLabel(Strings): 선택 상자의 제목을 설정합니다.
5.isSelected(): 선택 상자가 선택되었는지 여부를 확인합니다.
6. itemStateChanged(Item Evente): 선택 상자 이벤트를 처리하는 인터페이스 방법입니다.
7.getItemSelectable(): 옵션을 가져와 이벤트 소스를 가져옵니다.
8.addItemListener(ItemListenerl): 선택 상자에 대한 모니터를 설정합니다.
9.removeItemListener(ItemListenerl): 선택 상자의 모니터를 이동합니다.
[예11-11] 패널 하위 클래스를 표시하고 패널 하위 클래스 대상은 3개의 선택 상자가 있습니다.
class Panel1 extends JPanel{
    JCheckBox box1,box2,box3;
    Panel1(){
box1 = new JCheckBox("축구");
box2 = new JCheckBox("배구");
box2 = new JCheckBox("농구");
    }
}
라디오 상자
한 용기에 여러 개의 선택 상자를 넣고 Button Group 대상이 그룹화되지 않으면 여러 개의 선택 상자를 동시에 선택할 수 있습니다.ButtonGroup 객체를 사용하여 선택 상자를 그룹화하면 같은 시간 그룹 내의 여러 선택 상자는 한 그룹에서 선택 상자를 단일 선택 상자라고 하는 하나만 선택할 수 있습니다.단일 선택 상자를 그룹화하는 방법은 먼저 Button Group 객체를 만든 다음 같은 그룹에 대한 선택 상자를 같은 Button Group 객체에 추가하는 것입니다.예6.2 프로그램의 패널 하위 클래스 Panel2 설명을 참고하십시오. 그룹 내에 세 개의 라디오 상자가 있습니다.
라디오 버튼
라디오 버튼(JRadioButton)의 기능은 라디오 상자와 비슷합니다.라디오 단추를 사용하는 방법은 일부 라디오 단추를 Button Group 대상으로 그룹화하여 같은 그룹의 라디오 단추가 하나만 선택될 수 있도록 하는 것이다.라디오 단추와 라디오 상자의 차이는 표시되는 스타일이 다르다는 것입니다. 라디오 단추는 원형 단추이고 라디오 상자는 작은 네모난 상자입니다.
JRadioButton 클래스의 일반적인 구성 방법은 다음과 같습니다.
1. JRadioButton(): 빈 머리글로 라디오 버튼을 구성합니다.
2. JRadioButton(Strings): 주어진 제목 s로 라디오 단추를 구성합니다.
3. JRadioButton(Strings,booleanb): 주어진 제목 s로 라디오 단추를 구성하고 매개 변수 b로 선택 여부의 초기 상태를 설정합니다.
라디오 단추를 사용할 때 Button Group을 사용하여 라디오 단추를 그룹화해야 합니다. 라디오 단추를 그룹화하는 방법은 먼저 대상을 만들고 같은 그룹의 라디오 단추를 같은 Button Group 대상에 추가하는 것입니다.예6.2 프로그램의 하위 클래스 패널 1의 설명을 참고하십시오. 그룹 내에 세 개의 라디오 단추가 있습니다.
프로젝트 이벤트 처리 선택
사용자가 선택 상자나 라디오 단추를 선택한 후에 프로그램은 이 선택에 필요한 응답을 해야 합니다. 프로그램은 이를 위해 선택 항목 이벤트를 처리해야 합니다.프로젝트 프로세서 선택의 기본 내용은 다음과 같습니다.
1. 선택 항목 객체의 클래스를 모니터링하여 인터페이스 ItemListener를 구현합니다.
2. 프로그램은 선택 대상을 선언하고 설정합니다.
3. 객체 선택에 대한 모니터 등록,
4. 프로젝트 이벤트를 선택하는 인터페이스 방법인 itemStateChanged(Item Evente)를 작성하여 이 방법에서 getem Selectable () 방법으로 이벤트 원본을 가져와 처리합니다.
[예11-12] 선택 항목 이벤트를 처리하는 작은 응용 프로그램입니다.세 개의 라디오 단추로 구성된 제품 선택 그룹으로 제품을 선택하면 텍스트 영역에 제품 정보가 표시됩니다.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(" ");
 }

위에서 말한 것이 바로 본문의 전체 내용입니다. 여러분이 좋아하시기 바랍니다.

좋은 웹페이지 즐겨찾기