1

私は Java ゲームを作成していますが、何かを行う方法についてアドバイスが必要です。

現在、ゲームを作成するために 2 つの異なる .java ファイルを使用しています。JFrame を拡張するメイン プログラムがあり、JPanel を拡張する他の .java ファイルを呼び出します。

ゲームは現在動作していますが、ゲーム用に別のモードを作成したいので、別のファイルを作成した方がよいと思います。

これがメインファイルのすべてのコードです。役に立たない不要なものをすべて削除しました。

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

public class ProgramMain extends JFrame  implements KeyListener
{
    private Program mode1;
    private Program2 mode2;

    public ProgramMain ()
    {
        setResizable (false);
        mode1 = new Program ();
        getContentPane ().add (mode1, BorderLayout.CENTER);
        if (mode1.change == true)
        {
            this.remove (mode1);
            board = new Program2 ();
            this.getContentPane ().add (mode2);            
        }
    }

  public void actionPerformed (ActionEvent event)
  {
  }

    public static void main (String[] args)
    {
        GameMain frame = new GameMain ();
        frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
        frame.pack ();
        frame.setVisible (true);
    }
}

ProgramMain () メソッドを再起動して別のチェックを行う方法はありますか?今回は if ステートメントが true になると、画面が変更され、代わりに Program2.java ファイルが開きます。

それが私の主な問題です。.java プログラムを切り替える方法がわかりません。メイン プログラム (ProgramMain) に別のプログラム/.java ファイルを読み取らせたい場合は、どうすればよいですか。

4

1 に答える 1

0

切り替えるには、切り替えが必要なフレームにアクションを含めることができます。

ActionListener al = new ActionListener(){
    public void actionPerformed(ActionEvent ae) {
        if (board1) {
            getContentPane().add(gameBoard, BorderLayout.CENTER);
        } else {
            getContentPane().add(gameBoard2, BorderLayout.CENTER);
        }
    }
};
buttonSwitch.addActionListener (al);
于 2013-01-13T05:13:53.863 に答える