Java- 如何为不同的 JTextField 设置一个 variable/id 名称?
Java- How to set a variable/id name to different JTextFields?
我在 Java 中创建了一个框架和 2 个面板,第一个面板有一些按钮,另一个面板将显示新的 TextFields。在创建这些文本字段之后。我想获取每个文本字段中的文本,但如果我没有每个文本的特定变量名称,我不知道如何获取每个文本。
public class GUIListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e){
if(e.getSource()==boton2){
System.out.println("boton 2");
takeData();
}else if(e.getSource()==boton3){
System.out.println("boton 3");
createTextFields(4);
}
}
}
public void createTextFields(int quantity){
panel2.removeAll();
for(int i =0;i<quantity;i++){
texto = new JTextField("TF # "+i);
panel2.add(texto);
}
panel2.validate();
panel2.repaint();
}
public void takeData(){
System.out.println(texto.getText());
//Only prints the text of the last textfield created
}
将所有 JTextField
保存在一个集合或数组中,并 return 它们。
public JTextField[] createTextFields(int quantity) {
panel2.removeAll();
JTextField[] textFields = new JTextField[quantity];
for(int i =0;i<quantity;i++) {
texto = new JTextField("TF # "+i);
panel2.add(texto);
textFields[i] = texto;
}
panel2.validate();
panel2.repaint();
return textFields;
}
我在 Java 中创建了一个框架和 2 个面板,第一个面板有一些按钮,另一个面板将显示新的 TextFields。在创建这些文本字段之后。我想获取每个文本字段中的文本,但如果我没有每个文本的特定变量名称,我不知道如何获取每个文本。
public class GUIListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e){
if(e.getSource()==boton2){
System.out.println("boton 2");
takeData();
}else if(e.getSource()==boton3){
System.out.println("boton 3");
createTextFields(4);
}
}
}
public void createTextFields(int quantity){
panel2.removeAll();
for(int i =0;i<quantity;i++){
texto = new JTextField("TF # "+i);
panel2.add(texto);
}
panel2.validate();
panel2.repaint();
}
public void takeData(){
System.out.println(texto.getText());
//Only prints the text of the last textfield created
}
将所有 JTextField
保存在一个集合或数组中,并 return 它们。
public JTextField[] createTextFields(int quantity) {
panel2.removeAll();
JTextField[] textFields = new JTextField[quantity];
for(int i =0;i<quantity;i++) {
texto = new JTextField("TF # "+i);
panel2.add(texto);
textFields[i] = texto;
}
panel2.validate();
panel2.repaint();
return textFields;
}