【发布时间】:2015-03-28 12:20:01
【问题描述】:
如何绘制和填充形状?例如,drawRect 用你选择的任何颜色绘制一个矩形,但它的中间没有颜色,而 fillRect 用你选择的任何颜色填充一个矩形,但它的边框没有颜色。你如何结合drawRect和fillRect?谢谢。
【问题讨论】:
标签: java swing graphics awt shapes
如何绘制和填充形状?例如,drawRect 用你选择的任何颜色绘制一个矩形,但它的中间没有颜色,而 fillRect 用你选择的任何颜色填充一个矩形,但它的边框没有颜色。你如何结合drawRect和fillRect?谢谢。
【问题讨论】:
标签: java swing graphics awt shapes
先填充矩形,然后在上面绘制。:
class MyCanvas extends JComponent {
public void paint(Graphics g) {
g.fillRect(x, y, width, height);
g.drawRect(x, y, width, height);
}
}
【讨论】:
JComponent 覆盖的正确方法是 paintComponent(..) 2) 应立即调用 super 方法以绘制 BG 并擦除任何先前的绘图。 3) 自定义组件最好从getPreferredSize() 返回一个合理的大小,以帮助布局管理器知道要授予它的大小。 4) 在适当的情况下使用@Override 表示法也是一种很好的做法。