gpt4 book ai didi

java - 需要帮助更新 JTextArea - Java

转载 作者:太空宇宙 更新时间:2023-11-04 13:31:43 24 4
gpt4 key购买 nike

我正在上 Java 类(class)的第三周。我正在做一项将于下周到期的类作业。使用控制台作为输出,我可以毫无问题地完成作业,这是可以接受的。不过,教授还建议我们研究一下 JTextArea 并考虑将其用于我们的程序输出。

我从教程中找到了一些代码,并且至少能够让一个文本 block 与我的第一行文本一起出现。但当我编写实际的程序时,随着程序的进展,我需要继续向文本 block 添加额外的行。

当我尝试在 main 方法中使用以下代码行来显示文本第 2 行时,收到一条错误消息:“无法从静态上下文中引用非静态变量 textarea”。

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");
}
}

最佳答案

您不能引用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");
}

或者为您的 ta 提供一些其他“更新”方法您可以调用的类

您可能想通读Code Conventions for the Java TM Programming Language ,这将使人们更容易阅读您的代码,也让您更轻松地阅读其他人

关于java - 需要帮助更新 JTextArea - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32131490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com