Drawing java with canvas
I want to draw Java canvas, but I can't make it work because I don't know what I'm doing This is my simple code:
import javax.swing.JFrame;
import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.Color;
public class Program
{
public static void main(String[] args)
{
JFrame frmMain = new JFrame();
frmMain.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
frmMain.setSize(400,400);
Canvas cnvs = new Canvas();
cnvs.setSize(400,400);
frmMain.add(cnvs);
frmMain.setVisible(true);
Graphics g = cnvs.getGraphics();
g.setColor(new Color(255,0));
g.drawString("Hello",200,200);
}
}
Nothing appears in the window
I was wrong to think that canvas is paper and graphics are my pencil? How does this work?
Solution
Recommendations:
>Do not use canvas because you should not unnecessarily mix AWT and swing components. > Instead, use JPanel or JComponent. > Do not get graphics objects by calling getgraphics () on the component, because the obtained graphics objects will be temporary. > Draw the paintcomponent() method of JPanel. > All of this is easily explained in several tutorials Why not try these things first?
Main tutorial links:
>Basic tutorial: Lesson: performing custom painting > more advanced information: painting in AWT and swing
