私は、コンボボックスに指定された値のいずれかに従ってjtextfieldの数を表示しようとしています。JComboboxとJTextfield
だから、1から4と言うとドロップダウンメニューが表示されます。ユーザーが3を選択すると、3つのテキストフィールドが表示されます。私は数字の選択とjcomboboxを作成しました。しかし、私はどのようにこれを実装するか分からない。私は間違っていない場合、私は私がするJComboBoxののItemListenerオブジェクトに利用できるようになりますJTextFieldのオブジェクトへの参照を作成する必要があると思う
ItemEvent.SELECTED
を使用する必要があります。
ご協力いただければ幸いです。
私は私のクラスにこれを追加しました:
// aOption is the combobox I declared
aOptionComboBox.setModel(new DefaultComboBoxModel(new String[]{"1","2","3"}));
public void itemStateChanged(ItemEvent event) {
String num = (String)aOptionComboBox.getSelectedItem();
int num1 = Integer.parseInt(num);
JTextField[] textfields = new JTextField[num1];
for (int i = 0; i < num1; i++)
{
textfields[i] = new JTextField("Field");
getContentPane().add(textfields[i]);
textfields[i].setBounds(200, 90, 100, 25);
}
}
私は正しい軌道に乗っていますか?
* "私は正しいトラックにいますか?" *おそらく、コードで 'setBounds'が使用されているとします。 ***レイアウトを使用する***。また、早くより良い助けを得るために、[SSCCE](http://sscce.org/)を投稿してください。 –
あなたが試したときに何が起こったか:-)ヒント:以前に追加されたフィールドを削除したいと思うかもしれません。また、これが宿題の場合は、 – kleopatra
「正しい軌道にいるのですか?」というタグを付けてください。その答えは間違っています。あなたのforループの中では、@AndrewThompsonがあなたにアドバイスしたように、** setBounds **を使用しないでください。しかし、あなたがまだそれを使用している場合、作成している 'JTextFields'のすべてが、同じ場所にある別のものの上に置かれるわけではありません。それで、あなたの 'JFrame'には何人がいるのでしょうか? –