java - 在 Java 中的 JPanel 上显示方法的输出

标签 java swing

我有一个 GUI,它从文本区域获取输入,然后单击按钮生成报告。报告应该显示在输入区域下方。单击按钮时,输入数据将传递到名为Calculate() 的void 方法,现在正确的结果将通过System.out.printf() 显示在控制台上。如何将此输出重定向到报告区域?

public class Progress extends JFrame
{
   JTextArea input;
   JButton calculate;
   JPanel report;

   public void Notify()
     {
         calculate = new JButton("Calculate");
        calculate.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                Calculate();
            }
        });
     }
}

...

public void Calculate()
    {
        GenerateReport m = new GenerateReport();
        m.Parsecsv(input.getText());

    }

那么,作为 Java 新手,我想知道如何将Calculate() 方法的输出重定向到报告面板?

最佳答案

您可以修改您的计算以返回包含您想要打印到文本区域的信息的字符串。我假设您知道如何创建不为空并返回数据类型的简单方法:

public String Calculate() { 
    <something to get the text needed is done here>
    return <text from report>;
}

然后您可以创建一个“JOptionPane.showMessageDialog(Calculate())”来显示报告,或者您可以如上所述创建一个 JLabel 以在您使用的框架内打印报告。

类似于:

JLabel lab1 = new JLabel(null, Calculate() );

如果我理解正确的话?

关于java - 在 Java 中的 JPanel 上显示方法的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15489172/

相关文章:

java - 如何消除动画过程中出现的闪烁?

java - 停止循环 GIF 图标

java - Android 上缺少 HttpClientBuilder?

java - 线程中出现异常 "main"java.lang.ClassCastException : java. util.ArrayList 无法转换为 org.openqa.selenium.WebElement

java - ActionListener 不执行任何操作

Java ImageView获取位置并设置对齐方式

java - CREATE TABLE 不影响 JBDC

Java从数组中拆分字符串

java - 如何在 Java 中加密,在 Android 和 iOS 中解密

java - 在按下/选择时操作 JToggleButton 的 ImageIcon