【问题标题】:jcombobox using it with a jbuttonjcombobox 将它与 jbutton 一起使用
【发布时间】:2012-11-08 01:56:18
【问题描述】:

我想知道如何设置与 Jbutton 一起使用的 JComboBox。在 JcomboBox 中选择某个对象会在按下按钮时更改计算。这是我到目前为止所拥有的,但它似乎不起作用,我不确定它有什么问题。

    //JComboBox objectList = new JComboBox();
    String[] objectStrings = { "Triangle", "Box", "Done" };
    JComboBox objectList = new JComboBox(objectStrings);
    //objectList.setModel(new DefaultComboBoxModel(new String[]{"Triangle", "Box", "Done"}));
    objectList.setSelectedIndex(0);
    final int object = objectList.getSelectedIndex();
    objectList.setBounds(180, 7, 86, 20);
    objectList.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            if (object == 2) {
                System.exit(0);
            }
        }
    });



    frmPrestonPalecekWeek.getContentPane().add(objectList);

    JButton btnCalculate = new JButton("Calculate!");
    btnCalculate.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            String box;
            String done;
            Box a;
            Triangle b;
            b = new Triangle(Double.parseDouble(txtSidea.getText()), Double.parseDouble(txtSideb.getText()), Double.parseDouble(txtSidec.getText()));
            a = new Box(Double.parseDouble(txtSidea.getText()), Double.parseDouble(txtSideb.getText()), Double.parseDouble(txtSidec.getText()));
            if (object  == 0) {
            txtOutput.setText("this is the volume " + a.getVolume());
            }
            else if (object == 2) {
                System.exit(0);
            }

        }

【问题讨论】:

    标签: java swing jbutton actionlistener jcombobox


    【解决方案1】:

    在按钮的动作侦听器中,您应该检查在组合框中选择的项目,而不是使用在初始化期间设置的索引 (final int object = objectList.getSelectedIndex()),因为当组合选择更改时它不会更改。这个变量甚至被标记为final

    例如你可以做类似的事情:

    btnCalculate.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
           int selectedIndex = objectList.getSelectedIndex();
           if (selectedIndex == 0) {
               ...
           } else if selectedIndex == 2) {
              ...       
           }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2019-01-02
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-19
      • 2015-08-30
      • 1970-01-01
      相关资源
      最近更新 更多