私は 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);
}
}
コードを拡張して、ユーザーが誤って文字または記号をテキスト フィールドに入力した場合 (数値のみを入力する必要があることを知っているのに、なぜそうするのか聞かないでください)、プログラムが無視するようにします。入力した内容、またはエラーを表示します。これに対する例外は、もちろんピリオド (.) を入力することです。これは、10 進数を示したい場合があるためです。
これを行う方法について何か考えはありますか?私が書いたことが理にかなっていることを願っています!