JAVA中getText()怎么从一个JTextArea中读出内容?
想先创建一个JTextArea,然后在里面输入内容(几个字母),然后用getText读出里面的内容,可是好像只能是先在JTextArea里面写,然后getText才能读出...
想先创建一个JTextArea,然后在里面输入内容(几个字母),然后用getText读出里面的内容,可是好像只能是先在JTextArea里面写,然后getText才能读出,而不能先运行,在图形界面的JTextArea中输入字母后再读:
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class test2 implements ActionListener{
JButton startbutton;
JTextArea texfromtester;
String stringformtex;
JPanel p=new JPanel();
public test2()
{
JFrame f=new JFrame("英文打字测试");
f.setSize(300,150);
Container contentPane=f.getContentPane();
contentPane.setLayout(new BorderLayout());
startbutton=new JButton("start");
startbutton.addActionListener( this);
texfromtester=new JTextArea();
texfromtester. setRows(2);
texfromtester.setColumns(10);
//stringformtex=texfromtester.getText();
//System.out.println(stringformtex);
p.add(startbutton);
p.add(texfromtester);
contentPane.add(p,BorderLayout.CENTER);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{
System.out.println(stringformtex);
}
public static void main(String[] args) {
new test2();
}
}
我知道了,顺序问题 展开
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class test2 implements ActionListener{
JButton startbutton;
JTextArea texfromtester;
String stringformtex;
JPanel p=new JPanel();
public test2()
{
JFrame f=new JFrame("英文打字测试");
f.setSize(300,150);
Container contentPane=f.getContentPane();
contentPane.setLayout(new BorderLayout());
startbutton=new JButton("start");
startbutton.addActionListener( this);
texfromtester=new JTextArea();
texfromtester. setRows(2);
texfromtester.setColumns(10);
//stringformtex=texfromtester.getText();
//System.out.println(stringformtex);
p.add(startbutton);
p.add(texfromtester);
contentPane.add(p,BorderLayout.CENTER);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{
System.out.println(stringformtex);
}
public static void main(String[] args) {
new test2();
}
}
我知道了,顺序问题 展开
展开全部
当然得先输入文本才能读出啦。
不输入的话,给它初始化一个文本也可以。
不然读出来的是空字符串
不输入的话,给它初始化一个文本也可以。
不然读出来的是空字符串
追问
呵呵,其实也可以实现我想要的功能,只要把stringformtex=texfromtester.getText();放到public void actionPerformed(ActionEvent e)里就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class test2 implements ActionListener{
JButton startbutton;
JTextField texfromtester;
String stringformtex;
JTextArea tttt=new JTextArea(4,18);
JPanel p=new JPanel();
public test2(){
JFrame f=new JFrame("英文打字测试");f.setSize(300,150);
Container contentPane=f.getContentPane();
contentPane.setLayout(new BorderLayout());
startbutton=new JButton("start");
startbutton.addActionListener( this);
texfromtester=new JTextField();
texfromtester.setColumns(10);
tttt.setLineWrap(true);
JScrollPane scroll = new JScrollPane(tttt);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
p.add(startbutton);
p.add(texfromtester);
p.add(scroll);
contentPane.add(p,BorderLayout.CENTER);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }
public void actionPerformed(ActionEvent e)
{ tttt.append(texfromtester.getText().trim()+"\n");
System.out.println(texfromtester.getText().trim());
texfromtester.setText("");}
帮你改了一下
JButton startbutton;
JTextField texfromtester;
String stringformtex;
JTextArea tttt=new JTextArea(4,18);
JPanel p=new JPanel();
public test2(){
JFrame f=new JFrame("英文打字测试");f.setSize(300,150);
Container contentPane=f.getContentPane();
contentPane.setLayout(new BorderLayout());
startbutton=new JButton("start");
startbutton.addActionListener( this);
texfromtester=new JTextField();
texfromtester.setColumns(10);
tttt.setLineWrap(true);
JScrollPane scroll = new JScrollPane(tttt);
scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
p.add(startbutton);
p.add(texfromtester);
p.add(scroll);
contentPane.add(p,BorderLayout.CENTER);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }
public void actionPerformed(ActionEvent e)
{ tttt.append(texfromtester.getText().trim()+"\n");
System.out.println(texfromtester.getText().trim());
texfromtester.setText("");}
帮你改了一下
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样说吧,swing是基于事件来处理的,监听一个事件首先必须执行某些东西,然后才能给与响应
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询