Ruben de groot
Ruben de groot

Reputation: 15

Swing graphics won't display - Java

So if I use this code, I get a screen with nothing. I should display a green rectangle. Had this problem previously but couldn't solve it.

package _47b3n.squaregen;

import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;

import javax.swing.JFrame;

public class Main extends Component {

private static final long serialVersionUID = 5547487570978675247L;

public static void main(String [] args) {
    new Main();
}

public Main() {
    JFrame frame = new JFrame();
    frame.setSize(200, 200);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setResizable(false);
    frame.setVisible(true);
    repaint();
}

public void render(Graphics g) {
    g.setColor(Color.GREEN);
    g.drawRect(10,10,10,10);
}

} 

Upvotes: 0

Views: 65

Answers (1)

camickr
camickr

Reputation: 324098

Custom painting is done by overriding the paintComponent() method of a JPanel and then you add the panel to the frame.

Read the section from the Swing tutorial on Custom Painting for more information and working examples.

Upvotes: 5

Related Questions