我试图创建一个对象,看起来像这 - http://www.cs.uwlax.edu/~riley/CS120S13/Assignments/Assignment11.pdf传承漆剪裁
页面是我想要的结果的顶部的正面。
我做的是我被给了一个名为BouncyFace的类来绘制脸部的主体,我的工作是从BouncyFace继承paint方法并修改它,以便它将眼睛和嘴巴添加到脸部。我添加了眼睛,但嘴巴有点棘手,因为它是一个椭圆形的另一个椭圆形,我不能简单地改变一个椭圆形的颜色,因为它会改变所有椭圆形的颜色。思考?
对于那些谁想要的代码:这里是BouncyFace
的代码import javax.swing.*;
import java.awt.*;
public class BouncyFace extends JComponent {
protected int xDelta = 1;
protected int yDelta = 1;
protected Color fleshColor;
public BouncyFace(int x, int y, int side) {
super();
setBounds(x, y, side, side);
fleshColor = new Color(214,157,106);
setBackground(fleshColor);
setForeground(Color.black);
}
public void paint(Graphics g) {
g.setColor(getBackground());
g.fillOval(0, 0, getWidth()-1, getHeight()-1);
}
以及类被继承BouncyFace代码:
import javax.swing.*;
import java.awt.*;
public class Features extends BouncyFace
{
public Features(int x,int y, int side)
{
super(x,y,side);
}
public void paint(Graphics g)
{
super.paint(g);
g.setColor(Color.black);
g.fillOval(10,20,10,10);
g.fillOval(40,20,10,10);
//super.fillOval(10,10,40,35);
g.fillOval(10,10,40,40);
}
}
这篇文章基本上是问如何使用在涂装方法中采用相同的方法制作不同颜色的椭圆。
是的,可以。保存当前的颜色。更改。做你的画。恢复旧的颜色。见http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Graphics.html#getColor() – 2013-04-26 03:07:27
编辑:好的,所以Esentially我添加一个颜色参数? – Cronaldo97 2013-04-26 03:08:45
'我被授予了一个名为BouncyFace的类,它可以绘制脸部的主体,我的工作是从BouncyFace继承绘画方法并对其进行修改,以便将眼睛和嘴部添加到脸部 - 我会找一个新老师因为自定义绘画应该在paintComponent()方法中完成,而不是paint()方法。告诉你的老师,因为我们厌倦了每天多次重复这个建议,因为老师不能正确地教授绘画。 – camickr 2013-04-26 03:58:13