通过传递jpanel组件作为参数绘制一个圆

时间:2012-12-21 13:37:49

标签: java swing jpanel

我真的很困惑如何通过将其作为参数传递来在jpanel上绘制一个圆圈。

public class test extends JPanel{

        public test(JPanel jpanelcomponent) {

        }
        @Override
        protected void paintComponent(Graphics g) {
            // TODO Auto-generated method stub
            super.paintComponent(g);
            int width = getWidth()/2;
            int height = getHeight()/2;
            g.fillOval(5, 5, width, height);
        }


    }

2 个答案:

答案 0 :(得分:12)

我认为一个更好的设计会让你将Graphic的{​​{1}}覆盖的paintComponent(..)对象传递给将绘制到图形对象的类

这是我做的一个例子:

enter image description here

JPanel

答案 1 :(得分:4)

@ David的答案更好,但您可以尝试使用decorator pattern,就像他们展示here一样。