我已经用 PHP 和其他 Web 编程语言编程了很长时间,但我对 Java 真的很陌生。由于我在使用 PHP 编程时一直使用程序化方法,因此我对 OOP 也很陌生。现在我正在学习一个非常基本的 Java 教程。
我有这个代码用于显示不同的“银行账户”:
public class UseAccount extends JFrame {
public static void main(String[] args) {
Account myAccount = new Account();
Account yourAccount = new Account();
myAccount.name = "Jimmy";
myAccount.address = "Arjeplogsvägen 1";
myAccount.balance = 1250.70;
yourAccount.name = "Greg Giraldo";
yourAccount.address = "Fishermans friend's 4";
yourAccount.balance = -5820.30;
myAccount.display();
System.out.println();
yourAccount.display();
}
}
这是“帐户”类:
public class Account{
String name;
String address;
double balance;
void display() {
System.out.print(name);
System.out.print(" (");
System.out.print(address);
System.out.print(") has $");
System.out.print(balance);
}
}
这真的很好用。但现在我想将此信息输出到 JTextArea。所以我为 UseAccount 类编写了这段代码:
import java.awt.*;
import javax.swing.*;
public class UseAccount extends JFrame {
JTextArea output = new JTextArea();
public UseAccount() {
setLayout(new BorderLayout());
add(output, BorderLayout.CENTER);
}
public static void main(String[] args) {
UseAccount frame = new UseAccount();
frame.setTitle("Account");
frame.setSize(500,400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
Account myAccount = new Account();
Account yourAccount = new Account();
myAccount.name = "Jimmy";
myAccount.address = "Arjeplogsvägen 1";
myAccount.balance = 1250.70;
yourAccount.name = "Greg Giraldo";
yourAccount.address = "Fishermans friend's 4";
yourAccount.balance = -5820.30;
myAccount.display();
System.out.println();
yourAccount.display();
}
}
然后我试图让“Account”类扩展“UseAccount”类,然后使用 output.append("the_text") 来显示文本。但这显然不起作用:
public class Account extends UseAccount{
String name;
String address;
double balance;
void display() {
output.append(name);
output.append(" (");
output.append(address);
System.out.print(") has $");
System.out.print(balance);
}
}
我没有将每个 system.out.print() 都更改为 output.append,因为它无论如何都不起作用。
我想知道如何从其他类访问和更改我的 textarea("output") 的文本?
我希望有人能够帮助我解决这个小问题。
我知道之前已经在这里提出了类似的问题。我试图查看针对这些问题的解决方案来解决我的问题。但是大多数其他问题对我来说太复杂了,无法理解它的全部内容。因此,我现在尝试发布我自己的问题。