import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class FillOvalTest {
    private final static int W = 800;
    private final static int H = 800;
    private final static Color[] marker = { Color.RED, Color.BLUE, Color.GREEN};

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            JFrame f = new JFrame();
            f.add(new JPanel() {
                @Override
                protected void paintComponent(Graphics g) {
                    Graphics2D g2d = (Graphics2D) g;
                    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                            RenderingHints.VALUE_ANTIALIAS_ON);
                    g2d.setColor(Color.YELLOW);
                    for (int i=0; i < W; i+=10) {
                        for (int j = 0; j < H; j+=10) {
                            g2d.setColor(marker[(i+j)%marker.length]);
                            g2d.fillOval(i, j, 10, 10);
                        }
                    }
                }
            });
            f.setPreferredSize(new Dimension(W, H));
            f.pack();
            f.setVisible(true);
        });
    }
}
