JTextFieldに数字が入っているか判定する 数字入れろっつってんだろボケ!
テキストフィールドに特定の文字の入力を禁止するのはググる限りイベントをどうのリスナーがどうのと面倒くさそうです
しかし、文字を入力したからには決定ボタンを押すとか次にフォーカスを移すとかいう行動があるはずで、これらは僕でもイベントを拾えます
具体的には、デザイン画面でJLabelを右クリ>イベント でFocusLostをクリックすればフォーカスを失った時の動作を、決定ボタンを右クリ>イベント でナントカアクションリスナーをクリックすればボタンが押された時の動作を定義する場所を作ってくれます
そこで文字列をチェックすればいいわけです
たとえばこういう関数はどうでしょう
private boolean formCheck() { if("".equals(bookName.getText())){ JOptionPane.showMessageDialog(null, "書名を入力してください"); return false; } try { Integer.parseInt(bookVolume.getText()); } catch (NumberFormatException numberFormatException) { JOptionPane.showMessageDialog(null, "巻数を正しく入力してください"); return false; } return true; }
返り値はbooleanなので、trueなら予定通り処理をしfalseなら注意してやり直させるとかができます
この例では例によって蔵書管理のアプリで書名欄と巻数欄をチェックさせています
書名欄が空欄だったら注意、巻数欄が空欄とか変な文字が入ってたら注意します
JOptio…というのはメッセージダイアログを表示するもので、わざわざデザイン画面で作らなくても1行でできます。メッセージとOKボタンだけのダイアログです
ちなみにparseIntは全角の数字も半角数字にしてくれます。一時期プログラマに見せると死ぬってアレが流行りましたが多分これでイチコロです