我如何从已经运行的单独类中运行一个类?

时间:2014-04-13 22:40:28

标签: java class user-interface

我正在尝试创建一个Tic Tac Toe游戏,它将有一个菜单,允许您选择您想要玩的游戏版本,但经过几个小时的研究和尝试不同的东西,我无法弄清楚如何做到这一点。

package TicTacToeGame;

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

public class TicTacToeMenu extends TicTacToe2
{
  private JButton b1;
  private JButton b2;

  public TicTacToeMenu()
  {

    b1 = new JButton("Regular");
    b2 = new JButton("Colour");

    JTextField display = new JTextField();
    display.setEditable(false);
    display.setText("Welcome to TicTacToe! Choose the version you would like to play!");

    JPanel grid = new JPanel();
    grid.setLayout(new GridLayout(1,2));
    grid.add(b1);
    grid.add(b2);

    setLayout(new BorderLayout());
    add(display,BorderLayout.NORTH);
    add(grid,BorderLayout.CENTER);

    b1.addActionListener(new ButtonResponse());
    b2.addActionListener(new ButtonResponse());
  }

  public static void main(String[]args)
  {
    TicTacToeMenu frame = new TicTacToeMenu();    //create the custom frame
    frame.setSize(500,500);         //set the frame size
    frame.setLocationRelativeTo(null);      //center on screen
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //make close button work
    frame.setVisible(true);         //make frame display 
  }

  class ButtonResponse implements ActionListener
  {
    public void actionPerformed(ActionEvent e)
    { 
      System.out.println("action detected");

      if(e.getSource() == b1)
      {
      }
      else if(e.getSource() == b2)
      {
      }
      else
      {
      }
    }
  }
}

我希望它在点击按钮b1时运行Tic Tac Toe的第一个版本(类是公共类TicTacToe),当点击b2时它运行它的版本2(公共类TicTacToe)。

1 个答案:

答案 0 :(得分:0)

您可以调用TicTacToeMenu.main(),但这是一件奇怪的事情。更可能你想要实例化对象并让它自己运行。您可能有对象模型问题。