java swing中TextArea显示不出数据

publicclassCanviewextendsJFrame{privateStringlogresult;//这个是需要显示出来的数据变量...JButtonbutt... public class Canview extends JFrame {

private String logresult;//这个是需要显示出来的数据变量
.
.
.
JButton button = new JButton("开始");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
logresult="结果显示成功"; //这里给logresult赋值
}
}
TextArea textArea = new TextArea(); //实例化TextArea对象
textArea.setText(logresult);//!!!结果中文本域没有显示出结果!!!
//补充有字数限制,代码大概就这个意思

public class Canview extends JFrame {

private String logresult;

public Canview() {

JButton button = new JButton("开始");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

logresult="输出的结果"
});
}

//文本域
TextArea textArea = new TextArea();
textArea.setBackground(SystemColor.control);

textArea.setText(logresult);
System.out.println(logresult);//null

}
}
展开
 我来答
sui159753
推荐于2016-04-08 · TA获得超过226个赞
知道小有建树答主
回答量:207
采纳率:100%
帮助的人:131万
展开全部

1请问你有没有吧你的textArea 添加到JFrame 里面呢?

2 如果代码的逻辑没问题的话,最好是能打个断点调试一下这一行textArea.setText(logresult);,看下数据放进去了吗?


一般呢是先把JTextArea 添加到contentPane然后再把contentPane添加到Jframe里面,


contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);

contentPane.setLayout(null);


JTextArea textArea = new JTextArea();

textArea.setBounds(90, 55, 225, 71);

textArea.setText(logresult);//

contentPane.add(textArea);



给你一段代码参考一下

import java.awt.Container;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JScrollPane;
//import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JTextArea;

public class MainThread extends JFrame {

/**
 * 
 */
private static final long serialVersionUID = 1L;
private JPanel contentPane;

/**
 * Launch the application.
 */
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainThread frame = new MainThread();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
 * Create the frame.
 */
public MainThread() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JButton button = new JButton("\u5F00\u59CB");
button.setBounds(51, 182, 93, 23);
contentPane.add(button);

JButton button_1 = new JButton("\u505C\u6B62");
button_1.setBounds(278, 182, 93, 23);
contentPane.add(button_1);

JTextArea textArea = new JTextArea();
textArea.setBounds(90, 55, 225, 71);
contentPane.add(textArea);






}
}
更多追问追答
追问
断点出来的是空指针,应该是值没进去
追答
logresult 为空吗?
匿名用户
2014-12-22
展开全部
textArea.setText(logresult);

这个设置要写在button的按钮点击事件里面,每次设置都是不同的
更多追问追答
追问
这个写在button 的监听里会报错,因为textarea不是全局变量
追答
加final修饰即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无心蓝魔
2014-12-22 · 超过57用户采纳过TA的回答
知道小有建树答主
回答量:138
采纳率:0%
帮助的人:101万
展开全部
你把textArea add到Canview 里面去了么?
追问
我的提问最后少了个},textArea在jf中
追答
你把完整代码贴出来。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式