Gui,你可以用很多行粘贴文本

时间:2014-06-01 19:12:10

标签: java

我想制作一个gui,在我点击一个按钮后,我可以粘贴一个包含很多行的文本并提交该文本。

我创建按钮的代码示例:

public class SimpleGui implements ActionListener {
 JButton button;
 SimpleGui g;
public static void main (String[] args) {
    SimpleGui g = new SimpleGui();
    g.go();
}

public void go(){
    JFrame frame = new JFrame();
    button = new JButton("Insert Player");

    frame.getContentPane().add(button);
    button.addActionListener(this);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(300, 300);
    frame.setVisible(true);

}
@Override
public void actionPerformed(ActionEvent e) {
    button.setText("Now paste the data! "); 
}

}

现在我有button.setText("Now paste the data! ");,我想要的是:

  1. 创建某种小部件,允许我插入从.txt文档中复制的20行文本。 2)接收和管理用户放在小部件上的数据。
  2. 你能帮助我吗?

1 个答案:

答案 0 :(得分:1)

虽然你的问题不清楚,但可能你在询问一个可以设置文本的组件。使用JTextArea,如下所示:

JTextArea textarea = new JTextArea("The initial text");
your_container.add(textarea);  

然后,只要您想从文本区域获取文本,请使用:

String data = textarea.getText();  

如果在运行时你想将textarea设置为某些数据,你可以:

textarea.setText("Your data here");  

编辑:

在OP添加代码后,我认为这是他想要实现的目标:

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
class SimpleGui implements ActionListener 
{
JButton button;
SimpleGui g;
JTextArea textarea;
JFrame frame;
String data;
public static void main (String[] args) 
{
    SimpleGui g = new SimpleGui();
    g.go();
}
public void go()
{
    frame = new JFrame();
    button = new JButton("Insert Player");
    textarea = new JTextArea("Paste data here!");
    frame.setLayout(new BorderLayout());
    frame.getContentPane().add(button, BorderLayout.SOUTH);
    button.addActionListener(this);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(300, 300);
    frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) 
{
    if(e.getActionCommand().equals("Insert Player"))
    {
        button.setText("Now paste the data!");
        frame.getContentPane().add(textarea, BorderLayout.CENTER);
    }
    else if(e.getActionCommand().equals("Now paste the data!"))
    {
        data = textarea.getText();
        System.out.println(data);
    }
}
}  

您的文字数据位于data变量中。你可以随意使用它。我只是通过打印来证明它。

相关问题