如何创建 JTextField 数组并从 String 数组中检索文本?

Posted

技术标签:

【中文标题】如何创建 JTextField 数组并从 String 数组中检索文本?【英文标题】:How do I create an array of JTextField and retrieve the text from an array of String? 【发布时间】:2020-02-26 05:14:09 【问题描述】:

我对 Java 还是很陌生,而且还是个学生。我希望你能理解我。

从下面的代码可以看出,我只对框架和标签进行了编码。用户应该能够写一些歌曲推荐。应该至少有几个由数组创建的文本字段。当用户进行更改时,应使用 JOptionPane.WARNING_MESSAGE 显示新文本。

我需要一些关于如何创建 JTextField 数组并从 String 数组中检索文本的指导。另外,如何使用 JOptionPane 显示所有文本?

谢谢。

import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;

class TextFrame extends JFrame 

    private final JLabel cLabel;

    public TextFrame() 
    
        super("Hello there!");
        setLayout(new FlowLayout());

        cLabel = new JLabel("Please write some song recommendations.");
        cLabel.setToolTipText("Write below.");
        add(cLabel);
    


public class TestFrame

  public static void main (String [] args)
    
        TextFrame frame = new TextFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 400); 
        frame.setVisible(true); 
    

【问题讨论】:

文本字段数组? JTextField[] NAME = new JTextField[size of array]; 【参考方案1】:

您应该创建一个 actionListener 来检查您是否输入了任何内容。您可以有另一个侦听器或助记符,因此当您按 Enter 时,它将更新所有内容。当您按 Enter 键时,您可以从 JTextFieldJTextArea 获取文本,然后将其保存到字符串数组中(即 String[] stringArray = new String[<num of items>] 这样您就可以只有一个文本字段,您就可以将所有内容存储在一个 String[] 而不是一个文本字段数组?我希望这会有所帮助!

【讨论】:

【参考方案2】:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class framearray2 extends JFrame implements ActionListener

JCheckBox c1[];
JTextField t1[];
int i;
framearray2(String p)

super(p);
c1=new JCheckBox[2];
t1=new JTextField[2];
for(i=0;i<2;i++)

t1[i]=new JTextField(40);
c1[0]=new JCheckBox("Singing");
c1[0].setBackground(Color.red);
c1[1]=new JCheckBox("Cricket",true);

for(i=0;i<2;i++)

add(t1[i]);
add(c1[i]);
t1[i].addActionListener(this);

setLayout(new FlowLayout());
setFont(new Font("Arial",Font.ITALIC,40));

public void actionPerformed(ActionEvent e)

for(i=0;i<2;i++)

if(e.getSource().equals(t1[0]))

t1[0].setBackground(Color.red);

if(e.getSource().equals(t1[1]))

t1[1].setBackground(Color.blue);



public static void main(String s[])

framearray2 f1=new framearray2("hello");
f1.setSize(600,500);
f1.setVisible(true);



【讨论】:

@dr-varun-tiwari:请添加一些信息来解释您的代码如何解决问题 - 这将有助于未来的其他人

以上是关于如何创建 JTextField 数组并从 String 数组中检索文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何创建值数组并从 PHP 调用 JavaScript 函数

创建后如何在 JTextField 中设置新文本?

java:判断在JTextField中输入的是不是是7位数字

在全屏独占模式下输入 JtextField 时出现问题

检查 JtextField 是不是不等于保存的数组

如何从 JTextField 中检索文本?