java – 禁用int spinner plus(仅)按钮
作者:互联网
当用户分配我分配的统计点总数时,下面的代码非常有用.但是,我希望只禁用加号按钮,这样他们就可以降低统计值,然后重新添加.
if ((strengthModel.getNumber().intValue()) + (constitutionModel.getNumber().intValue()) + (dexterityModel.getNumber().intValue()) + (intelligenceModel.getNumber().intValue()) > 49){
strengthSpinner.setEnabled(false);
constitutionSpinner.setEnabled(false);
dexteritySpinner.setEnabled(false);
intelligenceSpinner.setEnabled(false);
}
int旋转器有可能吗?我没有在文档中看到它.
编辑更多信息:您可以传播您的统计点或将它们全部分配到一个统计.每个模型的最大值都是10个未使用的点.
解决方法:
对于在这里找到这个主题的人来说,我是如何解决我的问题的:
public void stateChanged(ChangeEvent e) {
Component[] components = characterCreationPanel.getComponents();
Component component = null;
strengthValue = strengthModel.getNumber().intValue();
constitutionValue = constitutionModel.getNumber().intValue();
dexterityValue = dexterityModel.getNumber().intValue();
intelligenceValue = intelligenceModel.getNumber().intValue();
for (int i = 0; i < components.length; i++)
{
component = components[i];
if (component instanceof JLabel){
if (((JLabel) component).getText().substring(0, 5).equals("Stat ")){
((JLabel) component).setText("Stat Points Left: " + Integer.toString(50 - (strengthValue + constitutionValue + dexterityValue + intelligenceValue)));
if ((strengthValue + constitutionValue + dexterityValue + intelligenceValue) == 50){
System.out.println("Hit your cap.");
}
}
}
strengthModel.setMaximum(50 - (constitutionValue + dexterityValue + intelligenceValue));
constitutionModel.setMaximum(50 - (strengthValue + dexterityValue + intelligenceValue));
dexterityModel.setMaximum(50 - (strengthValue + constitutionValue + intelligenceValue));
intelligenceModel.setMaximum(50 - (strengthValue + constitutionValue + dexterityValue));
}
}
感谢“ziesemer”获得了setMaximium的提示.
标签:jspinner,java,swing 来源: https://codeday.me/bug/20190729/1575745.html