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を使用して、calculateメソッドからテキストを出力できます。または、calculateメソッドから文字列を返し、それ以外の方法で表示することもできます。

于 2013-03-19T00:01:59.497 に答える