我已经实现了一个类DrawingPane extends JPanel
来绘制一些形状。我为每种类型的形状创建了一个单独的方法,例如圆形对应:
public void paintCircles(Graphics g) {
super.paint(g);
但是,我无法通过对类 DrawingPane
的引用从另一个类调用它。如何才能做到这一点?如果这种方式不可能,我如何调用单独的方法来绘制每种类型的形状,因为不同形状的代码要求不同?
此外,类JPanel
中的方法scrollRectToVisible 不适用于对象RoundRectangle2D.Double
。如何才能让这些形状也可见呢?
最佳答案
您需要在 DrawingPane
中实现 paintComponent(Graphics g)
,并且可以使用 draw(Shape s)
绘制任何形状:
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.draw(yourShape);
}
关于Java Swing JPanel。如何绘制形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7846306/