2014-04-13 2 views
-1

나는 게임의 어떤 버전을 재생할 지 선택할 수있는 메뉴가있는 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 
     { 
     } 
    } 
    } 
} 

가 나는 박하 사탕 발가락의 첫 번째 버전을 실행하려면 (클래스입니다 공공 클래스를 사용하여 ticTacToe) 버튼 B1 클릭 및 B2 클릭 그것의 버전 2 (공공 클래스를 사용하여 ticTacToe) 때.

+0

처음에는 메뉴 클래스가 게임 (TicTacToe2) 클래스를 확장하지 않아야합니다. 이는 상속을 남용하고 심각한 코드 문제를 일으킬 수 있으므로 별도로 보관하는 것이 좋습니다. –

+2

다음으로 ActionListener의 if 블록에 일부 코드를 넣는 것이 좋습니다. 우리는 적어도 당신이 무언가에 대한 시도를 보지 않고 어디서 붙어 있을지 모릅니다. 또한 게임 수업은 무엇을 연장합니까? JFrame (아마도 좋은 생각이 아닙니다)? JPanel (더 나은)? 어느 것도 아니거나 아무것도 아닙니다 (이것도 효과가있을 수 있고 잘 작동 할 수 있습니다)? 이 수업에 대해 더 자세히 알려주십시오. –

답변

0

TicTacToeMenu.main()을 호출 할 수는 있지만 이상하게 들릴 수 있습니다. 아마 당신은 단지 객체를 인스턴스화하고 스스로 실행하도록하고 싶을 것입니다. 개체 모델에 문제가있는 것 같습니다.

관련 문제