从JtextArea获取用户输入

时间:2014-09-26 14:51:24

标签: java swing jtextfield jtextarea

public static void main(String[] args) throws IOException {
    //cevir("ornek3.txt");
    JFrame frame=new JFrame("Print");
    JPanel input=new JPanel();
    JPanel output=new JPanel(); output.setBackground(Color.black);
    final JTextArea ita = new JTextArea(30, 40);
    JScrollPane ijp = new JScrollPane(ita);
    JTextArea ota = new JTextArea(30, 40);
    JScrollPane ojp = new JScrollPane(ota);
    JButton buton=new JButton("Print");

    frame.setLayout(new FlowLayout());
    buton.setSize(50, 20);
    input.setBounds(0,0,500, 500);
    output.setBounds(500, 0, 500, 450);
    frame.setBounds(100, 50, 1000, 500);


    input.add(ijp, BorderLayout.CENTER);
    output.add(ojp, BorderLayout.EAST);
    input.add(buton, BorderLayout.SOUTH);
    frame.add(input);
    frame.add(output);

    buton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {

            for(String line: ita.getText().split("\\n"));
                System.out.println(line);


        }
    });


    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
}

这是我的代码,我想获得我在程序运行时编写的文本并将其打印到控制台。是否可以使用JtextArea。当我点击按钮到控制台时,即使我写了一些东西到textarea,这段代码也会打印出来。

1 个答案:

答案 0 :(得分:1)

您已使用JtextArea#append方法。

        public void actionPerformed(ActionEvent e) {

            for(String line: ita.getText().split("\\n"))
               ota.append(line);


        }

方法内部类中使用的变量也应该是final,因此将ota作为最终

    final JTextArea ota = new JTextArea(30, 40);