我试图使用eclipse在java中绘制一些矩形,并调用该draw()方法给我一个错误.这里有什么我想念的吗?
import java.awt.Rectangle;
public class UsingRectangle {
public static void main(String[] args) {
Rectangle box1 = new Rectangle(0, 0, 20, 30);
//error "The method draw() is undefined for the type Rectangle"
box1.draw();
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助都不仅仅是值得赞赏的.谢谢.
首先阅读:
Rectangle 是一个形状的表示,它本身没有如何绘画的概念,但可以通过适当的API绘制

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class PaintRectangle {
public static void main(String[] args) {
new PaintRectangle();
}
public PaintRectangle() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
}
JFrame frame = new JFrame("Testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
private Rectangle box1;
public TestPane() {
box1 = new Rectangle(0, 0, 20, 30);
}
@Override
public Dimension getPreferredSize() {
return new Dimension(200, 200);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g.create();
g2d.setColor(Color.RED);
g2d.fill(box1);
g2d.setColor(Color.BLUE);
g2d.draw(box1);
g2d.dispose();
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2799 次 |
| 最近记录: |