我正在 Netbeans 中构建一个 GUI - 它用于一个简单的小应用程序 - 一个转换器程序。基本上,用户键入他们想要转换为文本字段的任何内容,从多个单选按钮(比如 lbs 到 kg)中选择转换,然后单击“转换”。
问题是,我希望“转换”按钮和单选按钮的行为如下:
- 程序加载时,单选按钮和“转换”按钮被禁用。
- 如果用户在文本字段中输入一个数字(并且只有一个数字),单选按钮和“转换”按钮将被启用。
- 如果使用删除了他们输入的内容,则一切都将再次被禁用,直到他们输入另一个数字。
通过取消选中每个组件的属性中的“启用”框,我设法设置了单选按钮和“转换”按钮,因此它们被禁用。我还能够使用简单的 if 语句和 keyTyped 事件来启用/禁用,如下所示:
private void txtUsrInputKeyTyped(java.awt.event.KeyEvent evt)
{
if (!txtUsrInput.getText().equals(""))
{
btnCalculate.setEnabled(true);
}
else
{
btnCalculate.setEnabled(false);
}
}
我想扩展我的代码,这样如果用户不小心在文本字段中输入了一个字母或符号(不要问我为什么要这样做,当他们知道他们必须只输入一个数字时),那么程序要么忽略他们输入的内容,或显示错误。当然,例外情况是键入句点 (.),因为他们可能想要指示十进制数。
关于我如何做到这一点的任何想法?希望我写的有意义!