주어진 값 중 하나에 따라 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에 얼마나 많은 사람들이 있는지를 어떻게 알 수 있을까요? –