Bom dia gente, tudo bem com vocês? Estou com uma pequena duvida sobre desenhar no java.
Bom, já consegui desenhar no java (código da JPanel abaixo) e tudo mais, só que eu queria controlar a imagem exibindo e escondendo partes do desenho da forca.
Eu uso a JPanel dentro de um JFrame, mas quando tento usar algum método do JPane que criei no JFrame, nao consigo, pior que os métodos estão todos public.
Será que existe uma outra forma de controlar a imagem?
Vlws gente
package Telas;
import Teste.*;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import javax.swing.JPanel;
public class JDesenhoForca extends JPanel {
//Atributos
boolean cabeca = true;
boolean tronco = false;
boolean bracoEsquerda = false;
boolean bracoDireita = false;
boolean peEsquerda = false;
boolean peDireita = false;
//Métodos contrutores
public JDesenhoForca(){}
public JDesenhoForca(boolean cabeca, boolean tronco, boolean bracoEsquerda, boolean bracoDireita, boolean peEsquerda,boolean peDireita){
this.cabeca = cabeca;
this.tronco = tronco;
this.bracoEsquerda = bracoEsquerda;
this.bracoDireita = bracoDireita;
this.peEsquerda = peEsquerda;
this.peDireita = peDireita;
}
//Métodos
public boolean isCabeca() {
return cabeca;
}
public void setCabeca(boolean cabeca) {
this.cabeca = cabeca;
}
public boolean isTronco() {
return tronco;
}
public void setTronco(boolean tronco) {
this.tronco = tronco;
}
public boolean isBracoEsquerda() {
return bracoEsquerda;
}
public void setBracoEsquerda(boolean bracoEsquerda) {
this.bracoEsquerda = bracoEsquerda;
}
public boolean isBracoDireita() {
return bracoDireita;
}
public void setBracoDireita(boolean bracoDireita) {
this.bracoDireita = bracoDireita;
}
public boolean isPeEsquerda() {
return peEsquerda;
}
public void setPeEsquerda(boolean peEsquerda) {
this.peEsquerda = peEsquerda;
}
public boolean isPeDireita() {
return peDireita;
}
public void setPeDireita(boolean peDireita) {
this.peDireita = peDireita;
}
@Override
protected void paintComponent(Graphics g) {
//Fundo branco
g.setColor(Color.white);
g.fillRect(0, 0, 500, 500);
//Forca
g.setColor(Color.BLACK);
g.fillRect(25, 10, 10, 115);
g.fillRect(25, 10, 50, 10);
//Bonequinhu
g.setColor(Color.BLACK);
if (this.isCabeca()) {
g.fillOval(50, 30, 30, 30);//cabeca
}
if (this.isTronco()) {
g.drawLine(65, 40, 65, 100);//tronco
}
if (this.isBracoEsquerda()) {
g.drawLine(65, 65, 50, 85);//braco esquerdo
}
if (this.isBracoDireita()) {
g.drawLine(65, 65, 80, 85);//braco direita
}
if (this.isPeEsquerda()) {
g.drawLine(65, 100, 55, 120); //pe esquerdo
}
if (this.isPeDireita()) {
g.drawLine(65, 100, 75, 120); //pe direita
}
}
}