选择组合框后,显示组合框,然后选择组合框中的任何项目,然后使JTextField可见

时间:2014-06-10 15:21:58

标签: java user-interface checkbox combobox

我的代码遇到问题。我想做的是: 1.创建一个复选框,使其可见 2.选中复选框时,显示组合框,例如,项目很少(" 1"," 2") 3.从组合框中选择1时,然后显示1个文本字段 4.当从组合框中选择2时,然后使2文本字段可见

我能做的是当点击复选框时,它会显示带有项目的组合框。 我无法为组合框中的项目提供功能,例如单击Item1时,可以显示1个文本字段。 请帮忙。

我的代码:

public void replacement_used(){

    no_of_part_used_label.setVisible(false);
    no_part_used_list.setVisible(false);
    part_no_one_label.setVisible(false);
    part_no_one_field.setVisible(false);
    part_no_two_label.setVisible(false);
    part_no_two_field.setVisible(false);
    part_no_three_label.setVisible(false);
    part_no_three_field.setVisible(false);
    part_no_four_label.setVisible(false);
    part_no_four_field.setVisible(false);
    part_no_five_label.setVisible(false);
    part_no_five_field.setVisible(false);

    HandlerClass handler = new HandlerClass();
    replacement_part_check_box.addItemListener(handler);

}

私有类HandlerClass实现ItemListener {

    public void itemStateChanged(ItemEvent event){

        if (replacement_part_check_box.isSelected()){                
            no_of_part_used_label.setVisible(true);
            no_part_used_list.setVisible(true);  

        }

        x();
    }

}

public void x(){

    System.out.println("Start of x fucntion");

    if( no_part_used_list.getSelectedItem().equals("1") ){
        System.out.println("It is 1");
        part_no_one_label.setVisible(true);
        part_no_one_field.setVisible(true);

    }


}

1 个答案:

答案 0 :(得分:0)

你需要做的就是在你的ComboBox中添加一个ActionListener。 可能首先你应该通过这个链接,这样你就可以理解在摇摆中使用组合框的基础知识http://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html 此外,您还需要学习编码约定,以便您的代码可以更易读和理解。