4

このようなテーブルがあります。2 番目の列は JTextField レンダラーを使用し、3 番目の列は JPasswordField ベースのレンダラーとエディターを使用します。

ここに画像の説明を入力

いいね。しかし問題は、値を入力する必要があり、「ENTER」を押さなければならないことです。その画像では、パスワードを入力しましたが、Enter キーを押していません。そのため、[保存して閉じる] ボタンをクリックすると、パスワード フィールドが空であるというエラーが表示されます。

以前は、JTabbedPane の下で JTextFields と JPasswordFields のみを使用していましたが、うまく機能していました。どんどん物を足さなければならなくなったとき、このような表に変えました。

今のところ、Enter キーを押す必要があることを人々に知らせるラベルを付けました。これは良くありません。もう一つの大きな問題。少なくとも Nimbus のルック アンド フィールでは、そのフィールドがまだフォーカスされていることがわかります。Windows システムの外観では、フィールドがフォーカスされているかどうかにかかわらず、目に見える違いはあまりありません。

ここに画像の説明を入力

[保存して閉じる] ボタンをクリックしたときに値を設定するには、ユーザー名フィールドまたはパスワード フィールドが必要です。私を助けてください。

4

2 に答える 2

6

フォーカスを失ったときに自動的にコミットするようにテーブルに指示します。

table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
于 2011-09-01T08:24:07.083 に答える