1

アプリケーションを作成し、Netbeans の guy swing builder を使用して簡単な GUI を作成しました。jtextfield と jlabel を作成しました。jlabel は jtextfield の上に配置されますが、最初は表示されません。

これは私の問題です。アプリケーションを実行すると、jtextfield にテキストを入力できます。これは問題なく動作します。その後、ボタンで jlabel をアクティブにします。jlabel が表示されます (必要に応じて jtextfield の上に)。jlabel を無効にすると消えますが、入力テキストも消えてしまいます。jtextfield を再度選択すると、テキストの一部が再び表示されるため、実際には非表示になっています。また、jtextfield にもう一度テキストを書き始めると、以前のテキストがすべて再び表示されます。

jtextfieldsでjlabelを表示/非表示にするたびに、フィールドを再度更新する方法やそれらを表示する方法はありますか? それともこれはある種のバグですか?

私が作成した単純なプログラムには高度なプログラミングが含まれていないため、このコードは提供しませんでした。

誰かが私のためにこの問題を解決してくれることを願っています。

4

2 に答える 2

0

あなたはおそらく使用することができます

JFrame.validate();

JLabel を削除した後に UI を更新すると、JTextField が正しく表示されるはずです...

それでもうまくいかない場合は、次を試すこともできます。

JPanel.setVisible(false);

JPanel.setVisible(真);

(プログラムで JPanel を使用していると仮定します) これにより、UI も更新されます。

ただし、コードを追加して、間違っている可能性があることを確認できるようにすると、はるかに簡単になります。

于 2013-10-12T00:25:48.507 に答える