2012-03-15 76 views
0
内容

我已经尝试的ActionListener和的ItemListener,但它不会工作,也是我试图寻找可能在它的工作规范和方法,但我只是不觉得它主要可能是因为JCombobox更受欢迎。如何使一个选择的功能,这将改变其他选择

这是Java程序的形式。

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.event.*; 

public class HarderCode extends Frame { 

    Choice Cb1; 
    Choice Cb2; 
    Choice Cb3; 

    Label lbl1; 
    Label lbl2; 
    Label lbl3; 
    Label lbl4; 
    Label lbl5; 

    TextField txt1; 
// TextField txt2; 

    Button btn1; 


    public HarderCode(){ 
     btn1 = new Button(" Click Me ! To Convert "); 

     Cb1 = new Choice(); 
     Cb2 = new Choice(); 
     Cb3 = new Choice(); 

     Cb1.add("Select A Category"); 
     Cb1.add("Teperature"); 
     Cb1.add("Volume"); 
     Cb1.add("Area"); 
     Cb1.add("Length"); 
     Cb1.add("Weigth"); 

     Cb2.add("Select Unit"); 
     Cb2.add("Celsius"); 
     Cb2.add("Fahrenheit"); 
     Cb2.add("Kelvin"); 

     Cb3.add("Select Unit"); 
     Cb3.add("Celsius"); 
     Cb3.add("Fahrenheit"); 
     Cb3.add("Kelvin"); 

     lbl1 = new Label(" 10000.00 "); 
     lbl2 = new Label(" From "); 
     lbl3 = new Label(" To "); 
     lbl4 = new Label(" Result :"); 
     lbl5 = new Label(" Value to be Converted "); 

     txt1 = new TextField(7); 
//  txt2 = new TextField(7); 

     add(lbl1); 
     add(lbl2); 
     add(lbl3); 
     add(lbl4); 
     add(lbl5); 
     add(txt1); 
//  add(txt2); 
     add(Cb1); 
     add(Cb2); 
     add(Cb3); 
     add(btn1); 

     @Override 
     Cb1.addItemListener(new ItemListener(){ 

      public void actionPerformed(ItemEvent e){ 

       if(Cb1.getSelectedItem().equals("Teperature")); 

        System.out.print("lallalala"); 
     } 
     } 
      ); 
    } 

    //30 

    public void paint(Graphics HarderCode){ 

     this.Cb1.setSize(270,20);// 
     this.Cb1.setLocation(10,40);// 

     this.Cb2.setSize(130,2);// 
     this.Cb2.setLocation(10,95);// 

     this.Cb3.setSize(130,2);// 
     this.Cb3.setLocation(150,95);// 

     this.lbl1.setSize(100,20);// 
     this.lbl1.setLocation(150,230);// 

     this.lbl2.setSize(50,20);// 
     this.lbl2.setLocation(10,70);// 

     this.lbl3.setSize(50,20);// 
     this.lbl3.setLocation(150,70);// 

     this.lbl5.setSize(130,20);// 
     this.lbl5.setLocation(10,130);// 

     this.txt1.setSize(130,20);// 
     this.txt1.setLocation(150,130);// 

     this.btn1.setSize(270,60);// 
     this.btn1.setLocation(10,160);// 

     this.lbl4.setSize(80,20);// 
     this.lbl4.setLocation(40,230);// 

//  this.txt2.setSize(100,30); 
//  this.txt2.setLocation(350,200); 


    } 

    public static void main (String[] args) { 


     HarderCode HC = new HarderCode(); 

     HC.setTitle("MultiConverter Ver1.0"); 
     HC.setSize(290,300); 
     HC.setResizable(false); 
     HC.setVisible(true); 

     /* 

     HC.setBackground(Color.YELLOW); 
     HC.lbl2.setBackground(Color.YELLOW); 
     HC.lbl3.setBackground(Color.YELLOW); 
     HC.lbl1.setBackground(Color.YELLOW); 
     HC.lbl4.setBackground(Color.YELLOW); 
     HC.lbl5.setBackground(Color.YELLOW); 

     HC.Cb1.setBackground(Color.BLUE); 
     HC.Cb2.setBackground(Color.BLUE); 
     HC.Cb3.setBackground(Color.BLUE); 

     HC.btn1.setBackground(Color.PINK); 

     HC.txt1.setBackground(Color.BLUE); 

     */ 
} 

} 
+1

我没有看到相关的摆动一个单一的东西,那么为什么你需要导入该包这个节目? – 2012-03-15 12:37:07

+1

请学习Java命名约定,并坚持他们 – kleopatra 2012-03-15 12:53:47

+0

它曾经是一个全挥杆对象,但我把它转化为AWT没有注意到它。 – 2012-03-15 14:03:20

回答

2

java.awt.Choice没有单独的数据模型,所以你必须使用removeAll()add()需要。与此相反,javax.swing.JComboBox确实具有separable model可以动态改变,如图here