java画矩形需要使用Rectangle2D.Float静态方法,指定四个参数即可,四个参数分别为左上角的xy坐标,以及矩形的宽度和高度
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
/**
* Displays a JFrame and draws a ractangle on it using the Java 2D Graphics API
*
* @author cn.outofmemory
*/
public class Java2DFrame extends javax.swing.JFrame {
/**
* Creates a new instance of Java2DFrame
*/
public Java2DFrame() {
initComponents();
}
/**
* This is the method where the rectangle is drawn.
*
* @param g The graphics object
*/
public void paint(Graphics g) {
Graphics2D graphics2 = (Graphics2D) g;
Rectangle2D rectangle = new Rectangle2D.Float(100, 100, 240, 160);
graphics2.draw(rectangle);
}
//
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(0, 300, Short.MAX_VALUE)
);
pack();
}//
/**
* Starts the program
*
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Java2DFrame().setVisible(true);
}
});
}
}