Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



Home Answers Viewqa Java-Beginners Running problem with NoughtsAndCrossesGame in blank
Login         

View Questions and Answers by Category

Advertisements


 
Have Programming Question? Ask it here!
 
 
 


Dexter
Running problem with NoughtsAndCrossesGame in blank
0 Answer(s)      2 years and 7 months ago
Posted in : Java Beginners


Hi i was having problem created NoughtsAndCrossesGame in end the it works but i runs the gui in blank. Its another way to solve it

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package test;

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

/**
 *
 * @author 000621812
 */

public class NoughtsAndCrossesGamev2 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        NoughtsAndCrossesGameFrame noughtsAndCrossesGame;

        noughtsAndCrossesGame = new NoughtsAndCrossesGameFrame();
        noughtsAndCrossesGame.setVisible(true);


    }
}

class NoughtsAndCrossesGameFrame extends JFrame {

    NoughtsAndCrossesGamePanel gamePanel;
    NoughtsAndCrossesButtonPanel buttonPanel;
    private ButtonPlayActionHandle playHandler;
    private ButtonExitActionHandler exitHandler;
    private JButton playButton;
    private JButton exitButton;

    public NoughtsAndCrossesGameFrame() {

       gamePanel = new NoughtsAndCrossesGamePanel();
       buttonPanel = new NoughtsAndCrossesButtonPanel();



            this.setLayout(new BorderLayout());
            this.setLayout(new GridLayout(3, 0));
            this.setSize(200, 200);
            this.setVisible(true);
            this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setTitle("Noughts and Crosses");

    }

    /**
* Asks the panel containing the game to reset the game.
*/

    private void resetGame() {



        //**
//* The button panel
//*/
    }

    class NoughtsAndCrossesButtonPanel extends JPanel {

      /**
* The game panel
       *
*/ public NoughtsAndCrossesButtonPanel() {
         playButton=new JButton("Play");
         playHandler=new ButtonPlayActionHandle();
     playButton.addActionListener(playHandler);

         exitButton =new JButton("Exit");
         exitHandler=new ButtonExitActionHandler();
         exitButton .addActionListener(exitHandler);
         this.add(playButton);
         this.add(exitButton);

}

    }
    }

    class NoughtsAndCrossesGamePanel extends JPanel {

       private int clickCount = 0;
    private JButton[] btnKeypad = new JButton[9];


        public NoughtsAndCrossesGamePanel() {
            /**
* Resets the buttons and clicjCount ready for a new game
*/

            HandlePlayerShot shotHandler = new HandlePlayerShot();
            // Set some JFrame details

            // NOTE - In grid layout you provide the number of
            // rows and columns but columns are ignored and always set equal to rows
            // unless the rows are zero.
            //TODO
            //this.setLayout(.....);


            // Create the buttons and add them  to the JFrame
            for (int i = 0; i < 9; i++) {
                btnKeypad[i] = new JButton(" ");
                this.add(btnKeypad[i]);
                btnKeypad[i].addActionListener(shotHandler);

                //TODO
            }

            // Register the same listener for each button as the action needed is always the same.
            // Note - this could have been done in the above loop but is shown separately here to make
            // it clearer.
            shotHandler = new HandlePlayerShot();

            this.setSize(250, 250);

        }

        private void resetGame() {
           /**
* Disables all the buttons when the game ends
            *
*/
            clickCount = 0;
            for (int i = 0; i < 9; i++){
                btnKeypad[i].setText("");
            }

        }

        private void gameFinished() {
            /**
* Inner class of NoughtsAndCrossesGamePanel to handle a players shot
* ie when a game button is pressed.
*/
        }

        class HandlePlayerShot implements ActionListener { //TODO  implements ????


/**
* Inner class of NoughtsAndCrossesGameFrame to respond to the Exit Button being
* pressed. Dispose of the frame and exits the application
*/
            @Override
            /**
             * Responds to the button press - ie player shot
             */
            public void actionPerformed(ActionEvent e) {
                JButton currentButton;
                String winner;

                clickCount++;
                currentButton = (JButton) (e.getSource());
                // If it is an odd click count (button press count) then it is "X"
                // shot as "X" player always goes first
                if (clickCount % 2 == 1) {
                    currentButton.setText("X");
                } else {
                    currentButton.setText("0");
                }
                currentButton.setEnabled(false);
                winner = checkForWinner();
                if (winner != null) {
                    //Display a message showing who the winner is
                    //TODO
                    JOptionPane.showMessageDialog(null, "The winner is " + winner);

                   //NoughtsAndCrossesGamePanel.this.dispose();
                } else {
                    // check that all possible shots have been had
                    if (clickCount == 9) {
                        //Display a message saying it is a drawn game
                        //TODO
                        JOptionPane.showMessageDialog(null, "Draw!");
                        //NoughtsAndCrossesGamePanel.this.dispose();
                    }
                }
            }

            /**
             * Checks if the button in btnKeypad array in positions i, j, k
             * all have the same text.
             * @param i - button number
             * @param j - button number
             * @param k - button number
             * @return true if button i,j,k
             */
            private boolean isAWinner(int i, int j, int k) {
                return !btnKeypad[i].getText().equals(" ")
                        && btnKeypad[i].getText().equals(btnKeypad[j].getText())
                        && btnKeypad[i].getText().equals(btnKeypad[k].getText());
            }

            /**
             * Checks for all possible winning scenarios
             * @return null if there is no winner or the text on the button of the
             * winner
             */
            public String checkForWinner() {
                /* Assumed mapping of button indexes to position in game is -
                 *  012
                 *  345
                 *  678
                 */
                int winner = -1; // -1 value means there was no winner

                if (isAWinner(0, 1, 2)) {// Horizontal row 1
                    winner = 0;
                } else if (isAWinner(3, 4, 5)) {    // Horizontal row 2
                    winner = 3;
                } else if (isAWinner(6, 7, 8)) {    // Horizontal row 3
                    winner = 6;
                } else if (isAWinner(0, 3, 6)) {    // Vertical row 1
                    winner = 0;
                } else if (isAWinner(1, 4, 7)) {    // Vertical row 2
                    winner = 1;
                } else if (isAWinner(2, 5, 8)) {    // Vertical row 3
                    winner = 2;
                } else if (isAWinner(0, 4, 8)) {    // Diagonal 1
                    winner = 0;
                } else if (isAWinner(2, 4, 6)) {    // Diagonal 2
                    winner = 2;
                }

                if (winner != -1) {
                    return btnKeypad[winner].getText();
                } else {
                    return null;
                }
            }
        }
}

        class ButtonExitActionHandler implements ActionListener {

            /**
* Inner class of NoughtsAndCrossesGameFrame to respond to the Play Button being
* pressed. Asks the frame to reset the game by calling the frames resetGame
* method
*/


            public void actionPerformed(ActionEvent e)
        {

            System.exit(0);

        }

        }

        class ButtonPlayActionHandle implements ActionListener {
            public void actionPerformed(ActionEvent e)
        {
            //resetGame();
        }
        }

Advertisement
View Answers

Related Tutorials/Questions & Answers:
Running problem with NoughtsAndCrossesGame in blank
Running problem with NoughtsAndCrossesGame in blank  Hi i was having problem created NoughtsAndCrossesGame in end the it works but i runs the gui in blank. Its another way to solve it /* * To change this template, choose
problem running a servlet on tomcat.
problem running a servlet on tomcat.  i have followed the steps given... suppose that should mean that my tomcat server is up and running. but whn i try... be the problem? please help me out
Advertisements
Problem in running first hibernate program.... - Hibernate
Problem in running first hibernate program....  Hi...I am using eclipse ganymede and mysql.I have already configured mysql and did few sample..., It seems that your class has not been found.There may be problem in your
NoughtsAndCrossesGame play button doesn't work
NoughtsAndCrossesGame play button doesn't work   /* * To change this template, choose Tools | Templates * and open the template in the editor... NoughtsAndCrossesGameFrame noughtsAndCrossesGame; noughtsAndCrossesGame = new
NoughtsAndCrossesGame play button doesn't work
NoughtsAndCrossesGame play button doesn't work   /* * To change this template, choose Tools | Templates * and open the template in the editor... NoughtsAndCrossesGameFrame noughtsAndCrossesGame; noughtsAndCrossesGame = new
UItextfield blank
UItextfield blank  Hi, How I can check if UITextfield is blank and then display error to the user? Thanks   Hi, Following code can be used to validate the user input in iPhone and iPad applications. if([loginID.text
PHP Prevent blank upload
PHP Prevent blank upload  In my small PHP application, i am posting a data to server using POST method in PHP, which is working fine. But the problem is that it also accepts blank data as well as duplicate value. Is there any way
Struts2 blank application - Struts
Struts2 blank application  Hi I am new to struts2 and i am trying to run the strutsblank application by following the following Link; http://www.roseindia.net/struts/struts2/index.shtml As per the instructions given
How to design a blank CD, design a blank CD, blank CD
How to design a blank CD       This is a blank CD example, You will learn here how to make a blank CD by taking help of this example. New File: Take a new file with any
Validaton(Checking Blank space) - Spring
Validaton(Checking Blank space)  Hi i am using java springs .I am having problem in doing validation. I am just checking blank space. This is my controller. I named it salescontroller. package controller; import
MySQL Blank Field
MySQL Blank Field This example illustrates how to find Blank field by the MySQL Query. In the table 'example' two t_count fields are blank and we find both field which has some value by query 'select * from example where t_count
Running JUnit
Running JUnit  Hi sir How can we run JUnit or Run test case Using JUnit using command prompt or CMD? Is there any alternate way of running test cases?   ou can run JUnit test case by running following command on CMD
Running JUnit
Running JUnit  Hi sir How can we run JUnit or Run test case Using JUnit using command prompt or CMD? Is there any alternate way of running test cases?   Hi friend You can run JUnit test case by running following
blank space in input field - Java Beginners
blank space in input field  I retrieved the fields from my mysql table...If the field contains null value i want to display a blank space in input field(text box)..but i am displaying null how to overcome this.. u r help
Creating Blank DOM Document
Creating Blank DOM Document       This tutorial shows you how to create blank DOM document. JAXP (Java... of the class DocumentBuilder is used to create a blank document. The newDocument
applet running but no display - Applet
applet running but no display  Hai, Thanks for the post. I have applied the codebase url in the page and executed. Now, when accessed the page from a client, the page appears with a blank applet part (just whitescreen
Running Jar file in Windows
Running Jar file in Windows  Running Jar file in Windows
applet is running but no display
applet is running but no display  applet is running but no display.. its showing white screen with applet started
running time watch
running time watch   how to set running watch in applycation with ajax
Problem
(); echoSocket.close(); } } this is my code, compiled with no errors, but when running giving... that the server (something like EchoServer) is up and running.   Thanx i got the answer, i just turned off the firewall & its running fine
Problem
with no errors, but when running giving "java.net.connectexception connection...) is up and running
RUNNING EJB PROGRAMS
RUNNING EJB PROGRAMS  how to run ejb programs using weblogic in windowsxp
Running and deploying Tomcat Server
Running and deploying Tomcat Server  HI Somebody has given the solution but it doesn't work out. kindly tell the solution for my problem which i... the problem to get the correct solution
Running Java Applications as software
Running Java Applications as software   Please tell me what to do if you want your java application to run like a real software,eg a java GUI application that connects to the database(Mysql)running on the computer like any other
stop the running hidden server
stop the running hidden server  Port 8080 required by Tomcat v6.0 Server at localhost is already in use. The server may already be running in another process, or a system process may be using the port. To start this server you
About running the Tomcat Server
About running the Tomcat Server   HI I want to run a simple program on servlet and the application is a simple program Hello world... is not there SO kindly tell me why it so happened and rectify the problem to get
running java with classpath in cygwin
running java with classpath in cygwin  The following command works in cmd.exe but failts in cygwin shell. java -cp .;oracle.jar;mysql.jar Executecmd query value; how should i alter the command to run in the bash shell?thanks
Find the Running time in sql***
Find the Running time in sql***  I have 10 backend jobs in sql which... want to find the running time of both the jobs. (i.e when i run the query it should show me how long job has been running) Eg:- Lets consider the sysdate
Running core java program
Running core java program  I am jayesh raval. I am going to make simplae program and at the time of runnint that program I found class not found exception. I have clear source of that program and that is right in the syntax. so
About running the Applet Program
About running the Applet Program  Hi I have composed an Applet Program and compiled the program, until that it is fine but how to run the Applet program(compiling i typed as javac AppletDemo.java)? Is compiling
Advertisements
 

 

 

DMCA.com