Hi I have a JFrame and there are two JPanels on top of it. My intention is to draw on the JPanels. Can anyone please share any Java code?
+2
A:
All the JComponents ( of which JPanel inherits from ) have a paintComponent(Graphics g )
method that you can override.
Basically... oh.. well, I think this would be more appropiate:
http://java.sun.com/developer/technicalArticles/GUI/java2d/java2dpart1.html
Naive sample:
Source code:
import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;
public class X {
public static void main( String [] args ) {
JFrame frame = new JFrame();
frame.add( new JPanel() {
public void paintComponent( Graphics g ) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
Line2D line = new Line2D.Double(10, 10, 40, 40);
g2.setColor(Color.blue);
g2.setStroke(new BasicStroke(10));
g2.draw(line);
}
});
frame.setVisible( true );
}
}
OscarRyz
2010-09-09 01:02:17
+1 for selecting a bold stroke! I'd consider annotating, overriding `getPreferredSize()` and invoking `pack()`, too.
trashgod
2010-09-09 01:41:10
It was the first one in the cited article :P
OscarRyz
2010-09-09 02:12:22
+1
A:
Check out the Java tutorials page. Start with the 2D Graphics tutorial.
camickr
2010-09-09 01:36:56