JButton não aparece na tela

2 respostas
poojava
A

No código a classe Bloco herda de JButton sendo assim botões, na classe configurar tela eu adiciono esses blocos(botões) a um vetor Bloco de tamanho 9 mesmo assim os botões não aparecem na janela ao rodar o código.

package jogo;

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.GridLayout;
import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class JogoDaVelha extends JFrame{

JPanel pTela= new JPanel(new GridLayout(4, 4, 10, 10));
JLabel lInformacao = new JLabel();

Bloco[] blocos = new Bloco[9];

final int jogador_1 = 1;
final int jogador_2 = 2;

public JogoDaVelha() {
	configurarJanela();
	configurarTela();
}

public void configurarTela() {
	add(BorderLayout.CENTER,pTela);
	add(BorderLayout.NORTH,lInformacao);
	pTela.setBackground(Color.BLACK);
	
	for(int i=0; i<9; i++) {
		Bloco bloco = new Bloco();
		blocos[i] = bloco;
		pTela.add(bloco);
	}
}

public void configurarJanela() {
	setTitle("Jogo da Velha");
	setDefaultCloseOperation(EXIT_ON_CLOSE);
	setSize(600, 600);
	setLocationRelativeTo(null);
	setVisible(true);
}

public static void main(String[] args) {
	new JogoDaVelha();
}

public class Bloco extends JButton{
	int quem = 0;
	
	public Bloco() {
		setBackground(Color.WHITE);
	}
}

}

2 Respostas

A

sendo a classe blocos uma classe secundaria dentro da classe JogoDaVelha

D
Pare de duplicar tópicos:

<aside class="quote quote-modified" data-post="1" data-topic="397580">
  <div class="title">
    <div class="quote-controls"></div>
    <img alt="" width="20" height="20" src="/letter_avatar_proxy/v4/letter/a/bc79bd/40.png" class="avatar">
    <a href="https://www.guj.com.br/t/meu-jbutton-nao-aparece-na-tela/397580">Meu JButton não aparece na tela</a> <a class="badge-wrapper  bullet" href="/c/programacao">Programação</a>
  </div>
  <blockquote>
    eu  adicionei os botões na tela mesmo assim não aparece. No meu código a Classe Bloco herda de JButton sendo assim um botão, eu adiciono os blocos a tela no metodo configurarTela e mesmo assim quando eu rodo a aplicação não aparece, apenas o fundo. 

package jogo; 
import java.awt.BorderLayout; 
import java.awt.Color; 
import java.awt.GridLayout; 

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
public class JogoDaVelha extends J
  </blockquote>
</aside>
Criado 2 de janeiro de 2020
Ultima resposta 2 de jan. de 2020
Respostas 2
Participantes 2