我是Java课程的第三周。我正在进行下周到期的课堂作业。我可以使用控制台作为输出完成任务而没有任何问题,这是可以接受的。然而,教授还建议我们研究JTextArea并考虑将它用于我们的程序输出。
我从教程中找到了一些代码,并且能够至少得到一个文本块,以显示我的第一行文本。但是当我编写实际程序时,我需要在程序进行时继续向文本块添加其他行。
当我尝试在main方法中使用以下代码行来显示文本行2时,我得到一个错误,&#34;非静态变量textarea不能从静态上下文引用&#34;。< / p>
textarea.append("Product1\t3\t$3.01\t$9.03");
这是我到目前为止的代码。在此先感谢您的帮助!
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ta extends JFrame{
JTextArea textarea;
public ta(){
setLayout(new FlowLayout ());
textarea = new JTextArea ("Product\tQuantity\tLine Cost\tOrder Cost\n", 5,30);
add(textarea);
}
public static void main(String[] args) {
ta gui = new ta();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.setSize(500,200);
gui.setVisible(true);
textarea.append("Product1\t3\t$3.01\t$9.03");
}
}
答案 0 :(得分:0)
您无法从textarea
上下文(即static
内)引用main
(这是一个实例字段)。
相反,将textarea.append("Product1\t3\t$3.01\t$9.03");
移到构造函数
public ta(){
setLayout(new FlowLayout ());
textarea = new JTextArea ("Product\tQuantity\tLine Cost\tOrder Cost\n", 5,30);
add(textarea);
textarea.append("Product1\t3\t$3.01\t$9.03");
}
或提供其他一些&#34;更新&#34;您可以调用的ta
课程的方法
您可能希望阅读Code Conventions for the Java TM Programming Language,这样可以让人们更轻松地阅读您的代码并让您阅读其他代码