在java中单击一次按钮后,如何从多个文本字段进行打印

时间:2017-06-02 18:19:45

标签: java printing

我的问题是如何从多个 JTextField在Java中打印 点击按钮。我可以调用打印方法,但是我可以从中打印特定的JTextField,但我想在点击一次按钮后从多个JTextField打印。请帮助我。谢谢。

3 个答案:

答案 0 :(得分:0)

您可以从每个文本字段中获取文本,并将其添加到另一个文本字段或控制台中。

试试这个例子:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Example {
    JFrame frame;
    JPanel panel;
    JTextField trextField1;
    JTextField trextField2;
    JTextField trextField3;
    JTextField trextField4;
    JButton button;
    public Example() {
        execute();
    }

    public void execute(){
        frame = new JFrame("GridBag");
        frame.setSize(400,400);

        trextField1 = new JTextField("Hello");
        trextField2 = new JTextField("Friend");
        trextField3 = new JTextField("How r u");
        trextField4 = new JTextField("");
        trextField4.setSize(50, 10);

        panel= new JPanel();

        BoxLayout layout = new BoxLayout(panel, BoxLayout.Y_AXIS);
        panel.setLayout(layout);
        panel.setSize(400,400);

        panel.add(trextField1);
        panel.add(trextField2);
        panel.add(trextField3);
        panel.add(trextField4);

        button = new JButton("Say it");
        panel.add(button);

        frame.add(panel);
        frame.setVisible(true);


        buttonAction();
    }

    public void buttonPress(){
        //If you have lot of textfields you need to get values to array and iterate through them
        String s = trextField1.getText() + trextField2.getText() + trextField3.getText();
        trextField4.setText(s);

    }

    public void buttonAction(){
        button.addActionListener(new ActionListener() { 
              public void actionPerformed(ActionEvent e) { 
                  buttonPress();
              }});
    }

    public static void main(String[] args){
        Example g = new Example();
    }
}

答案 1 :(得分:0)

因此,如果您想将多个JTextField的文本打印到控制台,您真正需要做的就是使用" .getText()"每个JTextField的方法。最好创建一个这样做的方法。

使用三个JTextField的示例:

JTextfield txt1= new JTextField("Hello");
JTextfield txt2 = new JTextField("Hi");
JTextfield txt3 = new JTextField("Hey");

创建一个获取并打印出每个文本字段文本的方法:

public void printAllTextFields() {
   System.out.println(txt1.getText());
   System.out.println(txt2.getText());
   System.out.println(txt3.getText());
}

然后只需在程序中调用此方法即可。

此示例的输出为:

Hello
Hi
Hey

答案 2 :(得分:-1)

我相信你可以简单地添加

JTextField#.append([variable_here])

在您正在使用的JButton函数中,并将相同的数据附加到多个文本字段。