整数未写入标签

时间:2015-05-22 11:25:07

标签: java swing user-interface awt

if (combostyle.getSelectedItem().equals(" ") || (comboSize.getSelectedItem().equals(" ")) || (comboclr.getSelectedItem().equals(" ")) ) {
    lblqtot.setText(String.valueOf("Please complete the form"));           
}

else if (comboquant.getSelectedItem().equals("15")) {
    int totals = Integer.parseInt(lblTotal.getText());
    int quantity = 15;

            int total = totals * quantity;
            String total2 = String.valueOf(total);

            lblqtot.setText(total2);
            label1.setText(total2);
              repaint();
              this.repaint();
              super.repaint();
                   }
}    

有一个问题,即total(lblqtot)的标签没有写入total2的值 - 基本上,我有一个总价格,我需要乘以组合框,所以如果组合框选择(数量)等于15,然后将总数乘以15得到总计。 希望这是有道理的......

目前,标签上没有任何反应,但我没有错误?

2 个答案:

答案 0 :(得分:0)

问题可能在于您的JLabel - 即使您为其分配了新值,它也不会更新。 JLabel生活在一个JFrame中,一旦创建,它往往会保持其元素不变。你需要做的是刷新框架:

figure img { height: 100%; width: 100%; }

答案 1 :(得分:0)

您的问题是,您致电getSelectedItem()并返回Object。您可以将其转换为int(例如((Integer)comboquant.getSelectedItem()).intValue() == 15),或者如果项目的索引与其值相对应,那么您可以使用getSelectedIndex()(或getSelectedIndex() + 11)。

或者,如果您管理的数组具有int值,就像它们在列表中一样,那么您可以这样做:arr[comboStyle.getSelectedIndex()]