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
}
} 展开
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
}
} 展开
3个回答
展开全部
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修饰即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把textArea add到Canview 里面去了么?
追问
我的提问最后少了个},textArea在jf中
追答
你把完整代码贴出来。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |