2

プログラムのグラフィカル インターフェイスを作成しています。スタートボタンを押すと、別のプログラムを呼び出すようにしたい。

以下は私のリスナーコードです:

private class ButtonHandler implements ActionListener 
{
    public void actionPerformed(ActionEvent e)
    {
        if(e.getSource()==startButton)
            ?????
    }
}

私は何をすべきか?別の Java ファイル (Start.java) を呼び出すつもりです。

4

2 に答える 2

3

そこに新しい Start インスタンスを作成する場合は、次のようにします。

public void actionPerformed(ActionEvent e)
{
    if(e.getSource()==startButton) {
       Start myStart = new Start();
       myStart.foo();
    }
}

または、既存の Start オブジェクトへの参照が既にある場合は、そのメソッドを呼び出すだけです。注意点として、Start のメソッドのいずれかが完了するまでに長い時間がかかる場合や、リソースを大量に消費する場合は、SwingWorker オブジェクトによって提供されるようなバックグラウンド スレッドで実行することをお勧めします。

私の答えは非常に一般的であり、おそらく詳細が少し曖昧であることに注意してください。ただし、プログラムの構造、クラス、およびここでの特定の問題について詳しく教えていただくまで、より細かい詳細を提供することはできません.

于 2012-05-17T03:47:24.590 に答える
1

これがプロジェクトに属し、すでにクラスパスに含まれている場合は、Start クラスの必要なメソッドを呼び出すことができます。

別のプロセスをまとめて起動する場合は、 http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html#exec(java.lang.String )を使用する必要があります

于 2012-05-17T03:47:13.203 に答える