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得到总计。 希望这是有道理的......
目前,标签上没有任何反应,但我没有错误?
答案 0 :(得分:0)
问题可能在于您的JLabel - 即使您为其分配了新值,它也不会更新。 JLabel生活在一个JFrame中,一旦创建,它往往会保持其元素不变。你需要做的是刷新框架:
figure img {
height: 100%;
width: 100%;
}
答案 1 :(得分:0)
您的问题是,您致电getSelectedItem()
并返回Object
。您可以将其转换为int
(例如((Integer)comboquant.getSelectedItem()).intValue() == 15
),或者如果项目的索引与其值相对应,那么您可以使用getSelectedIndex()
(或getSelectedIndex() + 1
在1
)。
或者,如果您管理的数组具有int
值,就像它们在列表中一样,那么您可以这样做:arr[comboStyle.getSelectedIndex()]