Java tutorial
import java.awt.Color; import java.awt.Component; import java.awt.Graphics; import java.awt.GridLayout; import javax.swing.Icon; import javax.swing.JFrame; import javax.swing.JLabel; public class Main { public static void main(String[] args) { JFrame frame = new JFrame(); JLabel label = new JLabel(new ElliptIcon(380, 260, Color.red)); label.setLayout(new GridLayout(2, 2)); frame.setContentPane(label); for (int i = 0; i < 4; i++) { label.add(new JLabel(new ElliptIcon(100, 60, Color.blue))); } frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } } class ElliptIcon implements Icon { private int w, h; private Color color; public ElliptIcon(int w, int h, Color color) { this.w = w; this.h = h; this.color = color; } @Override public void paintIcon(Component c, Graphics g, int x, int y) { g.setColor(color); g.fillOval(x, y, w, h); } @Override public int getIconWidth() { return w; } @Override public int getIconHeight() { return h; } }