下面的代码段显示了如何使用Graphics2D该类绘制矩形。您可以paintComponent(Graphics g)在匿名JPanel对象中定义的方法中查看代码片段。
要绘制矩形,我们使用Rectangle2D.Doublestatic-inner类。此类的构造方法接受有关矩形x,y坐标及其width和的信息height。
package org.nhooo.example.awt.geom; import javax.swing.*; import java.awt.*; import java.awt.geom.Rectangle2D; public class DrawRectangle { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { JFrame frame = new JFrame("Draw Rectangle"); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.add(new JPanel() { @Override protected void paintComponent(Graphics g) { // 使用Rectangle2D类绘制矩形 Graphics2D g2 = (Graphics2D) g; g2.setColor(Color.RED); double x = 100; double y = 100; double width = x + 200; double height = y + 50; // 画红色矩形 g2.draw(new Rectangle2D.Double(x, y, width, height)); g2.setColor(Color.BLUE); // 画蓝色矩形 g2.draw(new Rectangle2D.Double(150, 50, 200, 250)); } }, BorderLayout.CENTER); frame.pack(); frame.setSize(new Dimension(500, 400)); frame.setVisible(true); } }); } }
这是运行代码段时得到的结果: