6

以下に2つのコードを投稿しました。両方のコードは個別に正常に機能します。ここで、Easy ファイルを実行し、[開始] ボタンをクリックすると、クラス AddNumber が実装されます。コンソールで AddNumber を実行する代わりに、「開始」ボタンをクリックしたときに最初のクラスで作成した JTextArea で AddNumber を実行する方法はありますか? おそらくアクションリスナーによるものだと思いました(ボタンの場合の方法)しかし、よくわかりません。JTextArea を他の .java ファイルのコンソールとして機能させる他の方法はありますか?

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;


public class Easy extends JFrame{

    JTextArea text=new JTextArea();
    JPanel panel=new JPanel(new GridLayout(2,2));

    JButton button1 =new JButton("Start");

    public Easy(){

        panel.add(text);

        panel.add(button1);
        add(panel,BorderLayout.CENTER);

        button1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent ae){
            //add code to call the other class and make the JTextArea act as a console
            }
        });
   }

   public static void main(String arg[]){
       Easy frame=new Easy();
       frame.setSize(300,100);
       frame.setVisible(true);
   }
}

2 番目のクラス:

import java.util.Scanner;

class AddNumber
{
    public static void main(String args[])
    {
        int x, y, z;
        System.out.println("Enter two numbers to be added ");
        Scanner in = new Scanner(System.in);
        x = in.nextInt();
        y = in.nextInt();
        z = x + y;
        System.out.println("Sum of entered numbers = "+z);
    }
}

PrintStream について話している投稿をいくつか見たことがありますが、ここでは当てはまらないと思います。私を助けてください。ありがとう :)

更新:まあ、私はこのリンクを見つけました: http://www.codeproject.com/Articles/328417/Java-Console-apps-made-easy#HowtousethisJavaConsole1 そして、「追加する2つの数字を入力してください」と表示されるという意味で機能します...しかし、ユーザーはどこで入力を提供できますか?

編集:クラスのメインメソッドでコンソールの参照を作成する必要がありました...そしてそれは機能します...まあ、私が望んでいたようには正確ではありません..しかし部分的に..入力はまだ必要ですIDEのターミナルから行く..

4

1 に答える 1