7

NetBeans で Java と Swing を使用して小さなアプリを作成しています。NetBeans デザイン ウィンドウを使用して、JPanel を内部に持つ JFrame を作成しました。

ここで、いくつかの jTextFields を JPanel に動的に追加したいと考えています。私はそのようなことを書きました:

Vector textFieldsVector = new Vector();
JTextField tf;
int i = 0;
while (i < 3) {
    tf = new JTextField();
    textFieldVector.add(tf);
    myPanel.add(tf); //myPanel is the JPanel where I want to put the JTextFields
    i++;
}
myPanel.validate();
myPanel.repaint();

しかし、何も起こりません。アプリを実行すると、JFrame は内部に JPanel を表示しますが、JTextFields は表示しません。

私はグラフィカルな Java アプリケーションを作成するまったくの初心者なので、非常に単純なものが欠けていることは確かですが、何が何かわかりません。

4

6 に答える 6

0

新しい (動的に追加された) コンポーネントで GroupLayout を使用しないでください。表示されません。

于 2012-01-27T20:05:57.773 に答える
0

while ループが間違っています。iインクリメントされないため、ウィンドウの作成は無限ループになり、プログラムを中止するまで CPU 消費は 100% になります。また、プログラムを実行すると、GUI は完全に応答しなくなります。

于 2009-02-13T14:47:20.477 に答える
-3

.setVisible()JTextField のメソッドを使用するだけです。

JTextField tf = new JTextField() ;
tf.setVisible(true) ;
panel.add(tf) ;
于 2010-06-12T04:09:19.597 に答える