【发布时间】:2014-03-04 18:28:06
【问题描述】:
我想要一个可以通过使用给定的 x,y,color 参数调用其方法来重新创建的圆。但我这样做有困难。我想将 JComponent 用作对象而不是组件。
public class OlympicRingsComponent extends JComponent {
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.translate(10, 10);
g2.setStroke(new BasicStroke(7));
Ellipse2D.Double circle = new Ellipse2D.Double(0,0,100,100);
g2.setPaint(Color.BLUE);
g2.draw(circle);
}}
这段代码运行良好。但我希望能够调用一个方法来创建一个新的椭圆。
public class OlympicRingsComponent extends JComponent {
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.translate(10, 10);
g2.setStroke(new BasicStroke(7));
ring(10 , 20 , "Blue");
}
public void ring(int x , int y , String color) {
Ellipse2D.Double circle = new Ellipse2D.Double( x , y ,100,100);
g2.setPaint(Color.getColor(color));
g2.draw(circle);
}}
【问题讨论】:
-
我认为至少你应该将 g2 对象传递给 ring() 方法。
标签: java swing object methods paintcomponent