I am beginner to java Graphics , I have been trying to plot random dots on JFrame but don't know why when I compile there is nothing on Frame , for me logic is fine + no error. Can someone help me whats wrong here
public class parent extends JPanel {
public void PaintComponent (Graphics g)
{
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.blue);
Dimension size = getSize();
Insets insets= getInsets();
int w = size.width - insets.left - insets.right;
int h = size.height - insets.top - insets.bottom;
Random r = new Random();
for (int i=0; i<1000; i++) {
int x = Math.abs(r.nextInt()) % w;
int y = Math.abs(r.nextInt()) % h;
g2d.drawLine(x, y, x, y);
}
}
public static void main(String[] args)
{
JFrame frame = new JFrame("Points");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new parent());
frame.setSize(250, 200);
frame.setVisible(true);
}
}
Well is it PaintComponent
or should it be paintComponent
? I think I know which one the Java developers would choose.
Note that this is a perfect bug that @Override
in annotation would catch in Eclipse.