Я пытаюсь создать текстовые поля в кадре, получив ввод во время выполнения. Является ли это возможным? Или мне нужно создать для этого еще один фрейм. Я пробовал этот код, но он не работает. Пожалуйста, помогите мне, и скажите мне, что не так с этим кодом.Добавить текстовые поля в Jframe в Runtime
import java.awt.BorderLayout;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Check extends JFrame implements ActionListener
{
JTextField txtqty;
JTextField[] tfArr;
JPanel p1,p2;
JButton bsmbt;
public Check()
{
GUIDesign();
}
public void GUIDesign()
{
p1 = new JPanel();
txtqty = new JTextField(10);
JButton bsmbt= new JButton("OK");
p1.add(txtqty);
p1.add(bsmbt);
p2=new JPanel();
p2.setLayout(null);
add(p1,BorderLayout.NORTH);
setSize(500, 500);
setVisible(true);
setLocation(100, 100);
bsmbt.addActionListener(this);
}
public static void main(String[] args)
{
new Check();
}
public void TFArray(JTextField[] temp)
{
int x,y,width,height;
x=10;y=30;width=50;height=20;
int no_of_textboxes = Integer.parseInt(txtqty.getText());
temp=new JTextField[no_of_textboxes];
for(int i=0;i<no_of_textboxes;i++)
{
temp[i]= new JTextField(10);
temp[i].setBounds(x, y, width, height);
x+=(width+10);
p2.add(temp[i]);
}
add(p2);
}
@Override
public void actionPerformed(ActionEvent ae) {
JOptionPane.showMessageDialog(this, txtqty.getText());
TFArray(tfArr);
}
}
-> Метод TFArray() не работает.
Какая часть не работает? Каков результат, который вы получаете? Чем он отличается от того, что вы хотите? Нам нужно больше видимости, друг! – KyleKW
Этот код показывает только одно текстовое поле с одной кнопкой, которую я создал выше в панели1 в методе GUIDesign(). Я хотел создать так много текстовых полей, заданных на вкладке. но этот код не работает. – kikkaz69
1) имена методов public void TFArray' должны быть lowerCamelCase, 2) 'extends JFrame' вместо JFrame не расшифровывается, если вам нужно что-то расширять, расширяться из' JPanel' и создавать экземпляр 'JFrame'. 3) 'JButton bsmbt = new JButton (« ОК »);« Вы знаете, что ваша глобальная переменная 'JButton bsmbt;' не используется из-за этой строки?? 4) Какая часть точно не работает? – Frakcool