travei legal…
não teria que aparecer um retangulo enorme na cor laranja ??
o que esta faltando neste código , ele compila mas não mostra nada.
* @author jose
*/
import java.awt.*;
import javax.swing.*;
public class MyDrawPanel extends JPanel{
public void paintComponent(Graphics g){
g.setColor(Color.orange);
g.fillRect(20,50, 100, 100);
}
public static void main(String[] args){
MyDrawPanel m = new MyDrawPanel();
//m.paintComponent(Graphics g);
//m.paintComponent(g.fillRect(20,50,100,100));
}
}
sds
j.silvestre
funcionou…
ficou assim…
mas se alguém souber de uma forma melhor só postar.
* @author jose
*/
import java.awt.*;
import javax.swing.*;
public class MyDrawPanel extends JPanel{
public void paintComponent(Graphics g){
g.setColor(Color.orange);
g.fillRect(20,50, 100, 100);
}
public static void main(String[] args){
MyDrawPanel m = new MyDrawPanel();
JFrame frame = new JFrame();
frame.getContentPane().add(m);
frame.setSize(300,300);
frame.setVisible(true);
}
}
sds
j.silvestre
Voce deve criar uma copia desse Graphics para desenhar.
public void paintComponent(Graphics g){
Graphics2D g2d = (Graphics2D) g.create();
g2d.setColor(Color.orange);
g2d.fillRect(20,50, 100, 100);
g2d.dispose();
}
Voce pode estender de um JFrame direto ao inves de estender de um JPanel e depois criar um JFrame.
ficaria mais ou menos assim:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
public class teste extends JFrame{
public void paint(Graphics g){
g.setColor(Color.orange);
g.fillRect(20,50, 100, 100);
}
public static void main(String[] args){
teste m = new teste();
m.setVisible(true);
m.setSize(300,300);
}
}
Note que com essa mudança vc precisa mudar o metodo de desenho para paint() ao inves de paintComponent()