我正在使用JavaSwing概念。combobox的值类似于“GST 18.00%”。我只需要(18.00)作为浮动。有没有办法完成这项任务
我正在使用JavaSwing概念。combobox的值类似于GST 18.00%。我只需要18.00作为浮动。有任何方法可以完成此任务…不要向组合框中添加字符串。相反,创建一个值类并添加该类的实例 Swing调用模型对象的方法来渲染它们;您可以通过在值类中重写该方法来利用这一点:我正在使用JavaSwing概念。combobox的值类似于“GST 18.00%”。我只需要(18.00)作为浮动。有没有办法完成这项任务,java,swing,Java,Swing,我正在使用JavaSwing概念。combobox的值类似于GST 18.00%。我只需要18.00作为浮动。有任何方法可以完成此任务…不要向组合框中添加字符串。相反,创建一个值类并添加该类的实例 Swing调用模型对象的方法来渲染它们;您可以通过在值类中重写该方法来利用这一点: public class GSTValue { private final float rate; public GSTValue(float rate) { this.rate =
public class GSTValue {
private final float rate;
public GSTValue(float rate) {
this.rate = rate;
}
public float getRate() {
return rate;
}
@Override
public boolean equals(Object obj) {
return obj instanceof GSTValue &&
((GSTValue) obj).rate == this.rate;
}
@Override
public int hashCode() {
return Objects.hashCode(rate);
}
@Override
public String toString() {
return String.format("GST %.2f%%", rate);
}
}
然后,您可以将这些值直接添加到JComboBox:
GSTValue rates = {
new GSTValue(5),
new GSTValue(12),
new GSTValue(18),
new GSTValue(28),
};
JComboBox<GSTValue> rateComboBox = new JComboBox<>(rates);
GSTValue selection = (GSTValue) rateComboBox.getSelectedItem();
float rate = selection.getRate();