Java “变色”;“灯”;在其他班级
情况: 我制作了一个Java应用程序,可以打开和关闭灯。现在我需要更改灯光,这必须在Java “变色”;“灯”;在其他班级,java,swing,graphics,Java,Swing,Graphics,情况: 我制作了一个Java应用程序,可以打开和关闭灯。现在我需要更改灯光,这必须在类中发生。正常的“黄色”灯亮在类灯中。类彩色灯是类灯的子类 问题: 我怎样才能通过类ColorLamp中的一些代码更改灯的颜色 问题更新: 如何使用classColorLamp更改灯的颜色 代码: 这里是类灯的代码(更新): 这里是当前类彩色灯的代码(工作原理,但不是它的工作方式): 可能的右侧代码class彩色灯: 您应该做的是让所有灯对象都具有颜色。灯类本身将具有颜色.黄色,并且不能与其他类进行更改 p
类中发生。正常的“黄色”灯亮在类
灯中。类
彩色灯是类
灯的子类
问题:
我怎样才能通过类
ColorLamp中的一些代码更改灯的颜色
问题更新:
如何使用class
ColorLamp更改灯的颜色
代码:
这里是类
灯的代码(更新):
这里是当前类彩色灯的代码(工作原理,但不是它的工作方式):
可能的右侧代码class
彩色灯:
您应该做的是让所有灯
对象都具有颜色
。灯
类本身将具有颜色.黄色
,并且不能与其他类进行更改
public class Lamp
{
protected Color kleur = Color.YELLOW;
/// Other things...
public void teken(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
// Draw the lamp parts
if(aanUit == true)
{
g.setColor(this.kleur); // Set color here
}
else
{
g.setColor(Color.WHITE);
}
g.fillOval(208, 100, 50, 50);
g.setColor(Color.BLACK);
}
}
然后在彩色灯
中,您可以删除私人彩色灯编码>并使用继承的受保护颜色kleur
字段
要在绘制灯后更改颜色,需要重新绘制组件 您已经在该类中设置了颜色<代码>this.kleur=kleur代码>@cricket\u 007如果是这么简单,我不会问这个问题。我想更改类
ColorLamp中的颜色。@cricket_007它必须是一个子类
,一个指定的灯。我假设您有ColorLamp lamp=new ColorLamp(color.XYZ)
?@cricket_007的某个实例,我知道我必须创建该实例,除了颜色部分,颜色必须在ColorLamp类中定义。如何使用受保护的kleur字段并重新绘制?与您使用的方法相同。kleur
<代码>受保护
字段在所有扩展类中继承。另外,我不知道你是如何调用这个teken
方法的,但是在那个类中,你可能有一个JPanel
,你可以调用panel.repaint()
,例如,我不知道怎么做,我无法摆脱它。提示?teken方法称为test1
。您可以从感谢开始,我明天会研究它!
public class ColorLamp extends Lamp
{
protected Color kleur = Color.GREEN;
public Color getColor()
{
return kleur;
}
}
package lamp;
import java.awt.*;
public class ColorLamp extends Lamp
{
protected Color kleur = Color.GREEN;
public ColorLamp(Color kleur)
{
super();
this.kleur = kleur;
}
public Color getKleur()
{
return this.kleur;
}
public void setKleur(Color kleur)
{
this.kleur = kleur;
}
public String toString()
{
String res = "Lamp: ";
if(super.getAanUit())
{
res = res + "ÄAN";
}
else{
res = res + "UIT";
}
return res + kleur.toString();
}
}
public class Lamp
{
protected Color kleur = Color.YELLOW;
/// Other things...
public void teken(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
// Draw the lamp parts
if(aanUit == true)
{
g.setColor(this.kleur); // Set color here
}
else
{
g.setColor(Color.WHITE);
}
g.fillOval(208, 100, 50, 50);
g.setColor(Color.BLACK);
}
}