Game simples em Java. [RESOLVIDO]

Oi!
Estou desenvolvendo um jogo simples em Java. Mas, não estou consiguindo ver os textos no Frame, sendo que, eu o adcionei.
Quero saber de vocês também, se estou indo no caminho certo.
Obrigado!


//TicTacToe.java
//TicTacToe - Jogo da velha

import javax.swing.JOptionPane;
import java.util.Scanner;
public class TicTacToe extends Play {
	
	private String arrayEnter[];
	String namePlayerOne;
	String namePlayerTwo;
	
	//create Scanner for get info
	Scanner input = new Scanner(System.in);
	
	//construct start
	public  TicTacToe()
	{	
		JOptionPane.showMessageDialog(null, "Welcome to game!");
		namePlayerOne  = JOptionPane.showInputDialog("Write your name: ");
		namePlayerTwo = JOptionPane.showInputDialog("Now, write the name of other player: ");
		
		displayMessageUser();
	}
	
	
	//add name of user
	public void addUser(String nameOne, String nameTwo)
	{
		namePlayerOne = nameOne;
		namePlayerTwo = nameTwo;
		
	}
	
	//return name of user
	public String getUser()
	{
		return namePlayerOne;
	}
	
	//method for display message of welcome for user
	public void displayMessageUser()
	{
		
		//options for user
        String valueEnter = JOptionPane.showInputDialog(null,"Write Play for play\nOr Exit for exit.");
        
        if (valueEnter.equalsIgnoreCase("Play"))
        {
        	Play playGame = new Play();
        	playGame.Play();
        	
        } else if (valueEnter.equalsIgnoreCase("Exit")) {
        	exitOptions();
        }
        
	}
	
	//Message of output; case the user choose the option exit
	public void exitOptions()
	{
		JOptionPane.showMessageDialog(null, "Thanks you!", "End program",JOptionPane.INFORMATION_MESSAGE);
	}
	
	
	
}



import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.FlowLayout;


import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.FlowLayout;

public class Play extends JFrame {
	
	private JTextField welcomeUser;
	private JTextField help;
	
	
	private int start[][]; //start array bidimensional
	
	JFrame labelFrame = new JFrame(); //create LabelFrame
	
	public void Play()
	{		
		setLayout(new FlowLayout());
		welcomeUser = new JTextField("Welcome to Game!"); 
		add(welcomeUser);
		
		help = new JTextField("Get help!");
		add(help);
	}
	

}

import javax.swing.JFrame;
public class Principal  {
	
	public static void main(String args[])
	{
		
		TicTacToe tic = new TicTacToe();
		
		tic.setTitle("Game simple on Java!");
		tic.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		tic.setSize(500, 200);
		tic.setVisible(true);

	}

}

Olá hackum,

Voce deve se atentar no estado do seu frame. No caso do seu codigo na linha 49- Play playGame = new Play(); linha 50 - playGame.Play(); vc está criando nova instancia do proprio objeto herdado. O que é preciso fazer é chamar o método direto que vc estará trabalhando no mesmo estado do objeto ‘Play()’;

Guilherme

Oi, Guilherme.
Grato por responder.
Mas, não consigui compreender. Desculpe…

tenta usar o this … substituindo esse codigo abaixo na linha 49,50:Play playGame = new Play(); playGame.Play(); por este :this.play();

no caso chamando play() do objeto corrente ele vai conter os objetos que vc add … pq no momento que vc cria uma nova instancia ele nao tem os objetos ja inclusos… posso estar enganado mas testa aew xD

obs: na linha 97 … vc tem um metodo play… que é o mesmo nome da classe… caso queira um construtor… vc precisa tirar o void… e ele reconhecera como construtor… entao toda vez que vc criar uma instancia o Frame ja vem com os objetos que vc add…

Oi, clauslk!
Consigui resolver o problem!
Grato por responder. Mas agora, eu quero realizar um evento ao clicar no menu. Veja o código:


//TicTacToe.java
//TicTacToe - Jogo da velha

import javax.swing.JOptionPane;
import java.util.Scanner;
public class TicTacToe extends Play {
	
	private String arrayEnter[];
	String namePlayerOne;
	String namePlayerTwo;
	
	//create Scanner for get info
	Scanner input = new Scanner(System.in);
	
	//construct start
	public  TicTacToe()
	{	
		JOptionPane.showMessageDialog(null, "Welcome to game!");
		namePlayerOne  = JOptionPane.showInputDialog("Write your name: ");
		namePlayerTwo = JOptionPane.showInputDialog("Now, write the name of other player: ");
		
		displayMessageUser();
	}
	
	
	//add name of user
	public void addUser(String nameOne, String nameTwo)
	{
		namePlayerOne = nameOne;
		namePlayerTwo = nameTwo;
		
	}
	
	//return name of user
	public String getUser()
	{
		return namePlayerOne;
	}
	//method for display message of welcome for user
	public void displayMessageUser()
	{
		
		//options for user
        String valueEnter = JOptionPane.showInputDialog(null,"Write Play for play\nOr Exit for exit.");
        
        if (valueEnter.equalsIgnoreCase("Play"))
        {
        	Play playGame = new Play();
        	playGame.Play();
        	
        	
        } else if (valueEnter.equalsIgnoreCase("Exit")) {
        	exitOptions();
        }
        
	}
	
	//Message of output; case the user choose the option exit
	public void exitOptions()
	{
		JOptionPane.showMessageDialog(null, "Thanks you!", "End program",JOptionPane.INFORMATION_MESSAGE);
	}
	
}


import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextField;
import java.awt.FlowLayout;

public class Play extends JFrame {
	
	private JButton welcomeUser;
	private JButton helpGame;
	
	public void Play()
	{		

		setTitle("Game simple on Java!");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(300, 100);
		setVisible(true);
		setLayout(new FlowLayout());
		
		welcomeUser = new JButton("Start game!");  //menu for start game
		add(welcomeUser); //add welcomeUser to JFrame (Frame)
		
		helpGame = new JButton("Get help!"); //menu for get help
		add(helpGame); //add helpGame to JFrame (Frame)
		
		
		
		
	}
	

}
	

import javax.swing.JFrame;
public class Principal {
	
	public static void main(String args[])
	{
		
		TicTacToe tic = new TicTacToe();
		
	
	}

}

Certo vc tem um JButton e quer criar um evento nele… vc esta gerando os codigos onde? usa NetBeans? se for o caso é simples basta clicar duas vezes no botao… e gera automaticamente um evento para o botao…

como no exemplo abaixo:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        // aqui vai o seu codigo 
    }

obs… no nome do metodo acima… jButton1 é o nome do objeto que executa a acao… portanto coloque o nome do seu objeto da mesma forma que esta ali
caso vc esteja fazendo manualmente… testa aew

obs … atualmente estou fazendo um jogo da velha tb … porem com inteligencia artificial e varias frescuras rsrs … usei como trabalho no curso… e continuo trabalhando no projeto ^^ futuramente disponibilizo pra galera … demora um pouquinho ainda pq ando meio sem tempo… e tenho projetos em paralelo

Problema resolvido!
Obrigado!