Автор I hate mimes задал вопрос в разделе Другие языки и технологии
java нарисовать rectangle и получил лучший ответ
Ответ от Alexey[гуру]
import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Dimension; import java.awt.Color; import javax.swing.JComponent; public class PrimitiveComponent extends JComponent { private Dimension size; public PrimitiveComponent(int width, int height) { super(); this.size = new Dimension(width, height); super.setPreferredSize(size); super.setMinimumSize(size); super.setMaximumSize(size); } public void paintComponent(Graphics g) { Graphics2D g2d = (Graphics2D) g.create(); g2d.setColor(new Color(128, 0, 0)); g2d.drawRect(0, 0, 64, 64); g2d.setColor(new Color(0, 128, 0)); g2d.drawRect(32, 32, 96, 96); g2d.setColor(new Color(0, 0, 128)); g2d.drawRect(48, 48, 128, 128); g2d.dispose(); } } import java.awt.Container; import java.awt.BorderLayout; import javax.swing.SwingUtilities; import javax.swing.JFrame; public class Test93980608 implements Runnable{ private PrimitiveComponent drawComponent = null; private JFrame frame = null; public void run() { frame = new JFrame(); frame.setTitle(\"93980608\"); initComponents(); Container cp = frame.getContentPane(); cp.setLayout(new BorderLayout()); cp.add(drawComponent, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); registerEvents(); } private void initComponents() { drawComponent = new PrimitiveComponent(256, 256); } private void registerEvents() { frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { Test93980608 entryPoint = new Test93980608(); SwingUtilities.invokeLater(entryPoint); } }