未写入标签的整数


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();
                   }
}    

有一个问题,总价(lblqtot)的标签没有写入total2的值——基本上,我有一个总价,我需要乘以组合框,所以如果组合框选择(数量)等于15,那么总价乘以15得到总价。希望这有意义…

目前,绝对没有发生与标签,但我没有得到错误?

问题可能出在你的JLabel上——即使你给它赋了一个新值,它也没有得到更新。JLabel位于JFrame中,该JFrame一旦创建,就倾向于保持其元素的原样。你需要做的是刷新框架:

frame.invalidate(); frame.validate(); frame.repaint();

您的问题是您调用getSelectedItem()返回Object。您可以将其转换为int(例如((Integer)comboquant.getSelectedItem()).intValue() == 15),或者如果项目的索引对应于其值,则可以使用getSelectedIndex()(或getSelectedIndex() + 1,如果您从1开始)。

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

相关内容

  • 没有找到相关文章

最新更新