0

我有一个 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() 方法的输出重定向到报告面板?

4

2 回答 2

3

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

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() );

如果我理解你的话?

于 2013-03-19T00:37:15.840 回答
2

我想你想问的是,“什么是 JLabel?”。您可以使用 JLabel 从计算方法中输出文本。或者你可以从你的计算方法中返回一个字符串,并以其他方式显示它。

于 2013-03-19T00:01:59.497 回答