Problemas a criar imagem

3 respostas
jsnpereira

Olá, pessoal!

Estou tentando descobrir a resolver a problemas, simples um desenho uma bola. segue em baixo.

Desenhando um bola

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;

public class DrawSmile extends JFrame {
	
	public void paintComponent(Graphics g){
		
		super.paintComponents(g);
		
		g.setColor(Color.YELLOW);
		g.fillOval(10,10, 200, 200);
	}
}

Teste a EXECUTAR.

import javax.swing.JFrame;

public class DrawSmileTest {

	public static void main(String[] args) {
		
		DrawSmile panel = new DrawSmile();
		
		JFrame aplication = new JFrame("Desenho Sorriso!");
		
		aplication.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		aplication.add(panel);
		aplication.setSize(250,250);
		aplication.setVisible(true);
	}
}
Ocorreu a problema:

Exception in thread “main” java.lang.IllegalArgumentException: adding a window to a container

at java.awt.Container.checkNotAWindow(Unknown Source)

at java.awt.Container.addImpl(Unknown Source)

at java.awt.Container.add(Unknown Source)

at javax.swing.JFrame.addImpl(Unknown Source)

at java.awt.Container.add(Unknown Source)

at DrawSmileTest.main(DrawSmileTest.java:12)

Espero que vcs puderam me ajudar… obrigado!!

3 Respostas

juno.rr

Olá.
Sua classe DrawSmile deve estender JPanel, não JFrame.

ViniGodoy

Se a classe não for um container, pode estender JComponent também.
Mas, realmente, não JFrame, JDialog ou qualquer outro filho de Window. :wink:

Aproveita e dá uma lida nos artigos de Java2D lá do Ponto V!

jsnpereira

Se a classe não for um container, pode estender JComponent também.
Mas, realmente, não JFrame, JDialog ou qualquer outro filho de Window. :wink:

Aproveita e dá uma lida nos artigos de Java2D lá do Ponto V!

já conseguiu… mt obrigado!! valeu!!!

Criado 26 de agosto de 2010
Ultima resposta 30 de ago. de 2010
Respostas 3
Participantes 3