java - 如何从另一种方法获取 JTextArea 文本

标签 java swing

我想使用另一个类中的方法附加到我的 JTextArea 中(在我的代码中文本在这里),该怎么做?

 SecondWindow() {

    super("Mortage Loan Calculator");
    setLayout(new FlowLayout(FlowLayout.LEFT, 20, 20));

    tArea = new JTextArea(***TEXT IS HERE***, 30, 40);
    scroll = new JScrollPane(tArea);
    add(scroll);
    setLocationRelativeTo(null);`

`这是一个方法:

public void calcAnnuity(int years, int months, double amount, double rate){
    double totalMonths = (12 * years) + months;
    double partOfRate = rate / 12.0 / 100.0;
    double tempAmount = amount;
    double payment = amount * partOfRate * Math.pow(1 + partOfRate, totalMonths) / (Math.pow(1 + partOfRate, totalMonths) - 1); //mathematical formula

    DecimalFormat decFormat = new DecimalFormat("#.##");

    System.out.println(1 + " Payment = " + decFormat.format(payment) + "--- Left to pay: " + decFormat.format(amount));

    for(int i = 2; i <= totalMonths; i++) {
        tempAmount -= (payment - partOfRate * amount);
        amount -= payment;
        **textishere.append**(i + " Payment = " + decFormat.format(payment) + " --- Left to pay: " + decFormat.format(tempAmount));
    }
}

最佳答案

嗯,最简单的方法是在 JTextArea 所在的 ClassA 中实现一个公共(public)静态方法。

public static setJTextAreaText(String text){
   tArea.setText(text);
}

在 ClassB 中导入 ClassA,然后从方法 calcAnnuity() 调用此方法

import ClassA;

public void calcAnnuity(int years, int months, double amount, double rate){

   ...

   ClassA.setJTextAreaText('**textishere.append**');
}

关于java - 如何从另一种方法获取 JTextArea 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49335857/

相关文章:

java - 正则表达式匹配嵌套的 json 对象

java - Android 中的全局高分教程?

用于填充 ComboBox 的字符串数组的 Java 代码

java - 为什么没有创建这些 JButton?

java - 了解此变量的范围和此线程的行为(编辑问题)

java - 自动添加千位分隔符作为数字输入不起作用

java - 设置 JOptionPane.showMessageDialog 显示前面

java - 窗口不弹出

java - 如果 Item Reader 不返回任何内容,如何跳过 Spring Batch block 中的 Item Writer?

java - java 中的按钮不会被禁用