Re: CALLING ANOTHER PROGRAM
Please edit you post and wrap the code in code tags.
Code :
if (arg == "Versus Mode")
{
You should use the equals() method to compare Strings.
It would be better to compare the source of the event or to use a String variable that is used in two places than to use two Strings that could be different if you mistype it.
Re: CALLING ANOTHER PROGRAM
I did what you ask but how can i call two java programs
e.g.
If I press "Versus Mode" = TicTacToe.java(2 players) will come out
If I press "Versus AI" = TicTacToeAI.java will come out
Re: CALLING ANOTHER PROGRAM
Quote:
how can i call two java programs
You call methods in a class, not programs.
Get a reference to the class that has the method and use it to call the method:
refToClass.theMethod();
Re: CALLING ANOTHER PROGRAM
e.g.
I'll call TicTacToe() to be put here:
Code :
String arg = e.getActionCommand();
if (arg == "Versus Mode")
{
}
and I'll call TicTacToeAI() here:
Code :
}
if (arg == "Versus AI")
{
or you can post a simple code here so that I can easily understand what will I do
Re: CALLING ANOTHER PROGRAM
Are those classes or methods that you want to call? You need to explain which.
Have instances of those two classes been created? If so where are the variables that point to those instances? If there are instances of the class, you call a method in the class like this:
Code :
if(<some condition>) {
refToClass.theMethod();
...
}
If they have not been created then you could create them inside the if statements:
Code :
if(<some condition>) {
TheClassYouWantToCreate tcls =new TheClassYouWantToCreate(); // create an instance calling the class's constructor
tcls.theMethod(); // Call the method
...
}
Re: CALLING ANOTHER PROGRAM
I have these 2 programs:
TicTacToe 2PLAYERS
Code :
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TicTacToe extends JFrame implements ActionListener
{
JPanel panel;
JButton[] button;
private int count = 0;
private int sign = 0;
private boolean win = false;
private String player = "";
public TicTacToe()
{
panel = new JPanel();
panel.setLayout(new GridLayout(3,3));
this.add(panel);
button = new JButton[9];
for(int i = 0; i <= 8; i++){
button[i] = new JButton();
panel.add(button[i]);
button[i].setEnabled(true);
button[i].addActionListener(this);
}
//this.pack();
//this.setDefaultCloseOperation(EXIT_ON_CLOSE);
//this.setVisible(true);
}
public void createAndShow()
{
setDefaultCloseOperation(EXIT_ON_CLOSE);
setPreferredSize(new Dimension(300, 300));
setLocation((1000/2), (400/2));
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
count++;
for(int i =0; i <=8; i++){
if(button[i] == e.getSource()){
if(sign%2 == 0){
button[i].setText("X");
button[i].setEnabled(false);
}
else{
button[i].setText("O");
button[i].setEnabled(false);
}
}
}
// The Players (turns)
if(count%2==0){
player = "P2";
}
else{
player = "P1";
}
checkWinner();
if(count >= 9){
JOptionPane.showMessageDialog(null, "Draw Game!");
for(int j = 0; j<= 8; j++){
button[j].setText("");
button[j].setEnabled(true);
}
count = 0;
sign = 0;
return;
}
sign++;
// Show Player Wins
if (win == true){
JOptionPane.showMessageDialog(null, player + " WINS!");
newGameDialog();
}
}
public boolean checkWinner()
{
// horizontal
if( button[0].getText() == button[1].getText() && button[1].getText() == button[2].getText() && button[0].getText() != ""){
win = true;
}
else if(button[3].getText() == button[4].getText() && button[4].getText() == button[5].getText() && button[3].getText() != ""){
win = true;
}
else if(button[6].getText() == button[7].getText() && button[7].getText() == button[8].getText() && button[6].getText() != ""){
win = true;
}
// vertical
else if(button[0].getText() == button[3].getText() && button[3].getText() == button[6].getText() && button[0].getText() != ""){
win = true;
}
else if(button[1].getText() == button[4].getText() && button[4].getText() == button[7].getText() && button[1].getText() != ""){
win = true;
}
else if(button[2].getText() == button[5].getText() && button[5].getText() == button[8].getText() && button[2].getText() != ""){
win = true;
}
// diagonal
else if(button[0].getText() == button[4].getText() && button[4].getText() == button[8].getText() && button[0].getText() != ""){
win = true;
}
else if(button[2].getText() == button[4].getText() && button[4].getText() == button[6].getText() && button[2].getText() != ""){
win = true;
}
return true;
}
public void newGameDialog(){
int response = JOptionPane.showConfirmDialog(null, "Do you want a new game?", "Confirm", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(response == JOptionPane.YES_OPTION)
reset();
else{
System.exit(0);
}
}
public void reset(){
for(int i=0;i<=8;i++){
button[i].setText("");
button[i].setEnabled(true);
}
win = false;
count = 0;
sign = 0;
}
public static void main(String[] args)
{
TicTacToe frame = new TicTacToe();
frame.createAndShow();
}
}
TicTacToe AI MODE
Code :
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
public class TicTacToeAI extends JFrame implements ActionListener
{
JPanel panel;
JButton[] button;
private int count = 0;
private boolean win = false;
private String player = "";
public TicTacToeAI()
{
panel = new JPanel();
panel.setLayout(new GridLayout(3,3));
this.add(panel);
button = new JButton[9];
for(int i = 0; i <= 8; i++){
button[i] = new JButton();
panel.add(button[i]);
button[i].setEnabled(true);
button[i].addActionListener(this);
}
}
public void createAndShow()
{
setDefaultCloseOperation(EXIT_ON_CLOSE);
setPreferredSize(new Dimension(300, 300));
setLocation((1000/2), (400/2));
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
for(int i =0; i <=8; i++){
if(button[i] == e.getSource()){
button[i].setText("X");
button[i].setEnabled(false);
}
}
count++;
AI();
if(count % 2 == 0){
player = "Computer";}
else{
player = "P1";}
checkWinner();
if(count >=9){
JOptionPane.showMessageDialog(null, "Draw Game!");
for(int j = 0; j<= 8; j++){
button[j].setText("");
button[j].setEnabled(true);
}
count = 0;
return;
}
newGameDialog();
if (win == true){
JOptionPane.showMessageDialog(null, player + " WINS!");
newGameDialog();
}
}
public void AI(){
count++;
if(button[0].getText().equals("O") && button[1].getText().equals("O") && button[2].getText().equals("")){
button[2].setText("O");
button[2].setEnabled(false);
} else if(button[3].getText().equals("O") && button[4].getText().equals("O") && button[5].getText().equals("")){
button[5].setText("O");
button[5].setEnabled(false);
} else if(button[6].getText().equals("O") && button[7].getText().equals("O") && button[8].getText().equals("")){
button[8].setText("O");
button[8].setEnabled(false);
}
else if(button[1].getText().equals("O") && button[2].getText().equals("O") && button[0].getText().equals("")){
button[0].setText("O");
button[0].setEnabled(false);
} else if(button[4].getText().equals("O") && button[5].getText().equals("O") && button[3].getText().equals("")){
button[3].setText("O");
button[3].setEnabled(false);
} else if(button[7].getText().equals("O") && button[8].getText().equals("O") && button[6].getText().equals("")){
button[6].setText("O");
button[6].setEnabled(false);
}
else if(button[0].getText().equals("O") && button[2].getText().equals("O") && button[1].getText().equals("")){
button[1].setText("O");
button[1].setEnabled(false);
} else if(button[3].getText().equals("O") && button[5].getText().equals("O") && button[4].getText().equals("")){
button[4].setText("O");
button[4].setEnabled(false);
} else if(button[6].getText().equals("O") && button[8].getText().equals("O") && button[7].getText().equals("")){
button[7].setText("O");
button[7].setEnabled(false);
}
else if(button[0].getText().equals("O") && button[3].getText().equals("O") && button[6].getText().equals("")){
button[6].setText("O");
button[6].setEnabled(false);
} else if(button[1].getText().equals("O") && button[4].getText().equals("O") && button[7].getText().equals("")){
button[5].setText("O");
button[5].setEnabled(false);
} else if(button[2].getText().equals("O") && button[5].getText().equals("O") && button[8].getText().equals("")){
button[8].setText("O");
button[8].setEnabled(false);
}
else if(button[3].getText().equals("O") && button[6].getText().equals("O") && button[0].getText().equals("")){
button[0].setText("O");
button[0].setEnabled(false);
} else if(button[4].getText().equals("O") && button[7].getText().equals("O") && button[1].getText().equals("")){
button[1].setText("O");
button[1].setEnabled(false);
} else if(button[5].getText().equals("O") && button[8].getText().equals("O") && button[2].getText().equals("")){
button[2].setText("O");
button[2].setEnabled(false);
}
else if(button[0].getText().equals("O") && button[6].getText().equals("O") && button[3].getText().equals("")){
button[3].setText("O");
button[3].setEnabled(false);
} else if(button[1].getText().equals("O") && button[7].getText().equals("O") && button[4].getText().equals("")){
button[4].setText("O");
button[4].setEnabled(false);
} else if(button[2].getText().equals("O") && button[8].getText().equals("O") && button[5].getText().equals("")){
button[5].setText("O");
button[5].setEnabled(false);
}
else if(button[0].getText().equals("O") && button[4].getText().equals("O") && button[8].getText().equals("")){
button[8].setText("O");
button[8].setEnabled(false);
} else if(button[4].getText().equals("O") && button[8].getText().equals("O") && button[0].getText().equals("")){
button[0].setText("O");
button[0].setEnabled(false);
} else if(button[0].getText().equals("O") && button[8].getText().equals("O") && button[4].getText().equals("")){
button[4].setText("O");
button[4].setEnabled(false);
}
else if(button[2].getText().equals("O") && button[3].getText().equals("O") && button[6].getText().equals("")){
button[6].setText("O");
button[6].setEnabled(false);
} else if(button[6].getText().equals("O") && button[4].getText().equals("O") && button[2].getText().equals("")){
button[2].setText("O");
button[2].setEnabled(false);
} else if(button[6].getText().equals("O") && button[2].getText().equals("O") && button[4].getText().equals("")){
button[4].setText("O");
button[4].setEnabled(false);
}
else if(button[0].getText().equals("X") && button[1].getText().equals("X") && button[2].getText().equals("")){
button[2].setText("O");
button[2].setEnabled(false);
} else if(button[3].getText().equals("X") && button[4].getText().equals("X") && button[5].getText().equals("")){
button[5].setText("O");
button[5].setEnabled(false);
} else if(button[6].getText().equals("X") && button[7].getText().equals("X") && button[8].getText().equals("")){
button[8].setText("O");
button[8].setEnabled(false);
}
else if(button[1].getText().equals("X") && button[2].getText().equals("X") && button[0].getText().equals("")){
button[0].setText("O");
button[0].setEnabled(false);
} else if(button[4].getText().equals("X") && button[5].getText().equals("X") && button[3].getText().equals("")){
button[3].setText("O");
button[3].setEnabled(false);
} else if(button[7].getText().equals("X") && button[8].getText().equals("X") && button[6].getText().equals("")){
button[6].setText("O");
button[6].setEnabled(false);
}
else if(button[0].getText().equals("X") && button[2].getText().equals("X") && button[1].getText().equals("")){
button[1].setText("O");
button[1].setEnabled(false);
} else if(button[3].getText().equals("X") && button[5].getText().equals("X") && button[4].getText().equals("")){
button[4].setText("O");
button[4].setEnabled(false);
} else if(button[6].getText().equals("X") && button[8].getText().equals("X") && button[7].getText().equals("")){
button[7].setText("O");
button[7].setEnabled(false);
}
else if(button[0].getText().equals("X") && button[3].getText().equals("X") && button[6].getText().equals("")){
button[6].setText("O");
button[6].setEnabled(false);
} else if(button[1].getText().equals("X") && button[4].getText().equals("X") && button[7].getText().equals("")){
button[7].setText("O");
button[7].setEnabled(false);
} else if(button[2].getText().equals("X") && button[5].getText().equals("X") && button[8].getText().equals("")){
button[8].setText("O");
button[8].setEnabled(false);
}
else if(button[3].getText().equals("X") && button[6].getText().equals("X") && button[0].getText().equals("")){
button[0].setText("O");
button[0].setEnabled(false);
} else if(button[4].getText().equals("X") && button[7].getText().equals("X") && button[1].getText().equals("")){
button[1].setText("O");
button[1].setEnabled(false);
} else if(button[5].getText().equals("X") && button[8].getText().equals("X") && button[2].getText().equals("")){
button[2].setText("O");
button[2].setEnabled(false);
}
else if(button[0].getText().equals("X") && button[6].getText().equals("X") && button[3].getText().equals("")){
button[3].setText("O");
button[3].setEnabled(false);
} else if(button[1].getText().equals("X") && button[7].getText().equals("X") && button[4].getText().equals("")){
button[4].setText("O");
button[4].setEnabled(false);
} else if(button[2].getText().equals("X") && button[8].getText().equals("X") && button[5].getText().equals("")){
button[5].setText("O");
button[5].setEnabled(false);
}
else if(button[0].getText().equals("X") && button[4].getText().equals("X") && button[8].getText().equals("")){
button[8].setText("O");
button[8].setEnabled(false);
} else if(button[4].getText().equals("X") && button[8].getText().equals("X") && button[0].getText().equals("")){
button[0].setText("O");
button[0].setEnabled(false);
} else if(button[0].getText().equals("X") && button[8].getText().equals("X") && button[4].getText().equals("")){
button[4].setText("O");
button[4].setEnabled(false);
}
else if(button[2].getText().equals("X") && button[4].getText().equals("X") && button[6].getText().equals("")){
button[6].setText("O");
button[6].setEnabled(false);
} else if(button[6].getText().equals("X") && button[4].getText().equals("X") && button[2].getText().equals("")){
button[2].setText("O");
button[2].setEnabled(false);
} else if(button[6].getText().equals("X") && button[2].getText().equals("X") && button[4].getText().equals("")){
button[4].setText("O");
button[4].setEnabled(false);
}
else if(button[0].getText().equals("X") && button[4].getText().equals("O") && button[8].getText().equals("X")) {
button[5].setText("O");
button[5].setEnabled(false);
}
else if(button[2].getText().equals("X") && button[4].getText().equals("O") && button[6].getText().equals("X")) {
button[3].setText("O");
button[3].setEnabled(false);
}
else if(button[4].getText().equals("")){
button[4].setText("O");
button[4].setEnabled(false);
}
else if(button[0].getText().equals("")){
button[0].setText("O");
button[0].setEnabled(false);
}
else {
if(count >= 9)
checkWinner();
else
RandomMove();
}
checkWinner();
}
public void RandomMove(){
Random x = new Random();
int y = 0 + x.nextInt(8);
if(button[y].getText().equals("O") || button[y].getText().equals("X") ){
RandomMove();
} else {
button[y].setText("O");
button[y].setEnabled(false);
}
}
public void checkWinner()
{
// horizontal
if( button[0].getText() == button[1].getText() && button[1].getText() == button[2].getText() && button[0].getText() != ""){
win = true;
}
else if(button[3].getText() == button[4].getText() && button[4].getText() == button[5].getText() && button[3].getText() != ""){
win = true;
}
else if(button[6].getText() == button[7].getText() && button[7].getText() == button[8].getText() && button[6].getText() != ""){
win = true;
}
// vertical
else if(button[0].getText() == button[3].getText() && button[3].getText() == button[6].getText() && button[0].getText() != ""){
win = true;
}
else if(button[1].getText() == button[4].getText() && button[4].getText() == button[7].getText() && button[1].getText() != ""){
win = true;
}
else if(button[2].getText() == button[5].getText() && button[5].getText() == button[8].getText() && button[2].getText() != ""){
win = true;
}
// diagonal
else if(button[0].getText() == button[4].getText() && button[4].getText() == button[8].getText() && button[0].getText() != ""){
win = true;
}
else if(button[2].getText() == button[4].getText() && button[4].getText() == button[6].getText() && button[2].getText() != ""){
win = true;
}
}
public void newGameDialog(){
int response = JOptionPane.showConfirmDialog(null, "Do you want a new game?", "Confirm", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(response == JOptionPane.YES_OPTION)
reset();
else{
System.exit(0);
}
}
public void reset(){
for(int i=0;i<=8;i++){
button[i].setText("");
button[i].setEnabled(true);
}
win = false;
count = 0;
}
public static void main(String[] args)
{
TicTacToeAI frame = new TicTacToeAI();
frame.createAndShow();
}
}
How to insert here calling the class or method?
Code :
String click = e.getActionCommand();
if (click.equals("Versus Mode"))
{
}
if (click.equals("Versus AI"))
{
}
Re: CALLING ANOTHER PROGRAM
What method do you want to call? Those classes have several methods in them.
Is there a reference to an instance of the class with that method available in the if statements where you want to call that method?
Or do you want to call the class's constructor?
I gave some samples in post#6.
Re: CALLING ANOTHER PROGRAM
in the menubar if a user clicks the 'Game' 2 options will come out
Versus mode and Versus AI
If the user will click the 'Versus Mode' TicTacToe.java will appear
If the user will click the 'Versus AI' TicTacToeAI.java will appear
and I dont know what class or methods will be called
Can you help me
Re: CALLING ANOTHER PROGRAM
Quote:
TicTacToe.java will appear
Your terminology is confusing. Classes like JFrame can cause GUI items to appear on the screen as windows.
The source file: TicTacToe.java does not appear. The source file contains the definition of a class that can be compiled and executed.
Quote:
I dont know what class or methods will be called
If you don't know what you want to do, how can anyone know? Can you explain?
Are you asking how to call the constructor for the TicTacToe class?
You can do that by using the new statement. There is an example in post#6
Quote:
TheClassYouWantToCreate tcls = new TheClassYouWantToCreate(); // create an instance calling the class's constructor
Re: CALLING ANOTHER PROGRAM
It would be like this
Code java:
String click = e.getActionCommand();
if (click.equals("Versus Mode"))
{
TicTacToe ttt =new TicTacToe();
ttt.theMethod();
}
if (click.equals("Versus AI"))
{
TicTacToeAI tttai =new TicTacToeAI();
tttai.theMethod();
}
Re: CALLING ANOTHER PROGRAM
That could work.
Did you try it? What happened?
Re: CALLING ANOTHER PROGRAM
I've tried combining them in 1 program but there's an error
1 error found:
File: E:\FinalProject1.java [line: 54]
Error: The method theMethod() is undefined for the type FinalProject1.TicTacToe
Code java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class FinalProject1 extends JFrame implements ActionListener
{
public FinalProject1()
{
MenuBar menuBar = new MenuBar();
setMenuBar(menuBar);
Menu menuFile = new Menu("Game", true);
menuBar.add(menuFile);
MenuItem menuTTT = new MenuItem("Versus Mode");
menuFile.add(menuTTT);
MenuItem menuTTTAI = new MenuItem("Versus AI");
menuFile.add(menuTTTAI);
Menu menuAbout = new Menu("About", true);
menuBar.add(menuAbout);
MenuItem menuAboutTicTacToe = new MenuItem("About TicTacToe");
menuAbout.add(menuAboutTicTacToe);
menuTTT.addActionListener(this);
menuTTTAI.addActionListener(this);
menuAboutTicTacToe.addActionListener(this);
menuTTT.setActionCommand("Versus Mode");
menuTTTAI.setActionCommand("Versus AI");
menuAboutTicTacToe.setActionCommand("About");
}
public void createAndShow()
{
setDefaultCloseOperation(EXIT_ON_CLOSE);
setPreferredSize(new Dimension(100, 80));
setLocation((1000/2), (400/2));
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
String click = e.getActionCommand();
if (click.equals("Versus Mode"))
{
TicTacToe ttt =new TicTacToe();
ttt.theMethod();
}
if (click.equals("Versus AI"))
{
//TicTacToeAI tttai =new TicTacToeAI();
// tttai.theMethod();
}
if (click.equals("About"))
{
String message = "Elson's TicTacToe\nComputer Programming II\nCopyright 2011\nAll rights reserved";
JOptionPane.showMessageDialog(null,message,
"The Programmer", JOptionPane.INFORMATION_MESSAGE);
}
}
//**********************************************************************************************************************************
public class TicTacToe extends JFrame implements ActionListener
{
JPanel panel;
JButton[] button;
private int count = 0;
private int sign = 0;
private boolean win = false;
private String player = "";
private int p1wins = 0;
private int p2wins = 0;
public TicTacToe()
{
panel = new JPanel();
panel.setLayout(new GridLayout(3,4));
this.add(panel);
button = new JButton[9];
for(int i = 0; i <= 8; i++){
button[i] = new JButton();
panel.add(button[i]);
button[i].setEnabled(true);
button[i].addActionListener(this);
}
//this.pack();
//this.setDefaultCloseOperation(EXIT_ON_CLOSE);
//this.setVisible(true);
}
public void createAndShow()
{
setDefaultCloseOperation(EXIT_ON_CLOSE);
setPreferredSize(new Dimension(300, 400));
setLocation((1000/2), (400/2));
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
count++;
for(int i =0; i <=8; i++){
if(button[i] == e.getSource()){
if(sign%2 == 0){
button[i].setText("X");
button[i].setEnabled(false);
}
else{
button[i].setText("O");
button[i].setEnabled(false);
}
}
}
// The Players (turns)
if(count%2==0){
player = "P2";
}
else{
player = "P1";
}
checkWinner();
if(count >= 9){
JOptionPane.showMessageDialog(null, "Draw Game!");
for(int j = 0; j<= 8; j++){
button[j].setText("");
button[j].setEnabled(true);
}
count = 0;
sign = 0;
return;
}
sign++;
// Show Player Wins
if (win == true){
JOptionPane.showMessageDialog(null, player + " WINS!");
newGameDialog();
}
}
public boolean checkWinner()
{
// horizontal
if( button[0].getText() == button[1].getText() && button[1].getText() == button[2].getText() && button[0].getText() != ""){
win = true;
}
else if(button[3].getText() == button[4].getText() && button[4].getText() == button[5].getText() && button[3].getText() != ""){
win = true;
}
else if(button[6].getText() == button[7].getText() && button[7].getText() == button[8].getText() && button[6].getText() != ""){
win = true;
}
// vertical
else if(button[0].getText() == button[3].getText() && button[3].getText() == button[6].getText() && button[0].getText() != ""){
win = true;
}
else if(button[1].getText() == button[4].getText() && button[4].getText() == button[7].getText() && button[1].getText() != ""){
win = true;
}
else if(button[2].getText() == button[5].getText() && button[5].getText() == button[8].getText() && button[2].getText() != ""){
win = true;
}
// diagonal
else if(button[0].getText() == button[4].getText() && button[4].getText() == button[8].getText() && button[0].getText() != ""){
win = true;
}
else if(button[2].getText() == button[4].getText() && button[4].getText() == button[6].getText() && button[2].getText() != ""){
win = true;
}
return true;
}
public void newGameDialog(){
if(player.equals("P1"))
p1wins++;
else
p2wins++;
int response = JOptionPane.showConfirmDialog(null, "Do you want a new game?", "Confirm", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(response == JOptionPane.YES_OPTION)
reset();
else{
System.exit(0);
}
}
public void reset(){
for(int i=0;i<=8;i++){
button[i].setText("");
button[i].setEnabled(true);
}
win = false;
count = 0;
sign = 0;
}
}
public static void main(String[] args)
{
FinalProject1 frame = new FinalProject1();
frame.createAndShow();
}
}
Re: CALLING ANOTHER PROGRAM
Quote:
The method theMethod() is undefined
The compiler can not find a method named: theMethod() in the class: TicTacToe
What method in the class are you trying to call? Check the class definition for the methods that it defines.
Re: CALLING ANOTHER PROGRAM
I want to call
Code java:
public TicTacToe()
{
panel = new JPanel();
panel.setLayout(new GridLayout(3,4));
this.add(panel);
button = new JButton[9];
for(int i = 0; i <= 8; i++){
button[i] = new JButton();
panel.add(button[i]);
button[i].setEnabled(true);
button[i].addActionListener(this);
}
//this.pack();
//this.setDefaultCloseOperation(EXIT_ON_CLOSE);
//this.setVisible(true);
}
public void createAndShow()
{
setDefaultCloseOperation(EXIT_ON_CLOSE);
setPreferredSize(new Dimension(300, 400));
setLocation((1000/2), (400/2));
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
count++;
for(int i =0; i <=8; i++){
if(button[i] == e.getSource()){
if(sign%2 == 0){
button[i].setText("X");
button[i].setEnabled(false);
}
else{
button[i].setText("O");
button[i].setEnabled(false);
}
}
}
// The Players (turns)
if(count%2==0){
player = "P2";
}
else{
player = "P1";
}
checkWinner();
if(count >= 9){
JOptionPane.showMessageDialog(null, "Draw Game!");
for(int j = 0; j<= 8; j++){
button[j].setText("");
button[j].setEnabled(true);
}
count = 0;
sign = 0;
return;
}
sign++;
// Show Player Wins
if (win == true){
JOptionPane.showMessageDialog(null, player + " WINS!");
newGameDialog();
}
}
public boolean checkWinner()
{
// horizontal
if( button[0].getText() == button[1].getText() && button[1].getText() == button[2].getText() && button[0].getText() != ""){
win = true;
}
else if(button[3].getText() == button[4].getText() && button[4].getText() == button[5].getText() && button[3].getText() != ""){
win = true;
}
else if(button[6].getText() == button[7].getText() && button[7].getText() == button[8].getText() && button[6].getText() != ""){
win = true;
}
// vertical
else if(button[0].getText() == button[3].getText() && button[3].getText() == button[6].getText() && button[0].getText() != ""){
win = true;
}
else if(button[1].getText() == button[4].getText() && button[4].getText() == button[7].getText() && button[1].getText() != ""){
win = true;
}
else if(button[2].getText() == button[5].getText() && button[5].getText() == button[8].getText() && button[2].getText() != ""){
win = true;
}
// diagonal
else if(button[0].getText() == button[4].getText() && button[4].getText() == button[8].getText() && button[0].getText() != ""){
win = true;
}
else if(button[2].getText() == button[4].getText() && button[4].getText() == button[6].getText() && button[2].getText() != ""){
win = true;
}
return true;
}
public void newGameDialog(){
if(player.equals("P1"))
p1wins++;
else
p2wins++;
int response = JOptionPane.showConfirmDialog(null, "Do you want a new game?", "Confirm", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(response == JOptionPane.YES_OPTION)
reset();
else{
System.exit(0);
}
}
public void reset(){
for(int i=0;i<=8;i++){
button[i].setText("");
button[i].setEnabled(true);
}
win = false;
count = 0;
sign = 0;
}
}
so this must be TicTacToe()
so I change 'theMethod()' to 'TicTacToe()'
Code :
{
TicTacToe ttt =new TicTacToe();
ttt.TicTacToe();
}
but same error:
1 error found:
File: E:\FinalProject1.java [line: 54]
Error: The method TicTacToe() is undefined for the type FinalProject1.TicTacToe
Re: CALLING ANOTHER PROGRAM
You can call either a class's constructor or a method in a class or both.
What method in the class do you want to call? Look at the class definition and find the method you want to call.
Quote:
The method TicTacToe() is undefined
The compiler can not find the method TicTacToe() in the class: TicTacToe.
Where did you get these classes? Can you ask the person that wrote the classes how to use them?