- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
情况:
我制作了一个可以打开和关闭灯的 Java 应用程序。现在我需要更改灯光,这必须发生在 class
ColorLamp 中。正常的“黄”灯放在 class
Lamp 中。 类
Colorlamp 是类
Lamp 的子类
。
问题:
如何才能通过 class
ColorLamp 中的某些代码更改灯颜色?
如何使用 class
ColorLamp 更改灯的颜色?
这里是来自 class
Lamp 的代码(更新):
public class Lamp
{
protected Color kleur = Color.YELLOW;
public static final boolean AAN = true;
public static final boolean UIT = false;
// instance variable
protected boolean aanUit;
// constructor
public Lamp()
{
// init instance variable
this.aanUit = UIT;
}
public void setAanUit(boolean aanUit)
{
this.aanUit = aanUit;
}
// switch
public void switchAanUit()
{
this.aanUit = !this.aanUit;
}
public boolean getAanUit()
{
return this.aanUit;
}
public String toString()
{
String res = "Lamp: ";
if (aanUit)
{
res = res + "AAN";
}
else
{
res = res + "UIT";
}
return res;
}
public void teken(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
g2.setStroke(new BasicStroke(5));
g2.drawOval(208, 100, 50, 50); // ronde lamp
g2.drawLine(220, 150, 220, 175); // linker kant
g2.drawLine(245, 150, 245, 175); // rechter kant
g2.drawLine(220, 175, 235, 200); // linksonder hoek
g2.drawLine(235, 200, 245, 175); // rechtsonder hoek
if(aanUit == true)
{
ColorLamp kleurlamp = new ColorLamp();
g.setColor(kleurlamp.getColor());
}
else
{
g.setColor(Color.WHITE);
}
g.fillOval(208, 100, 50, 50);
g.setColor(Color.BLACK);
}
}
<小时/>
这里是当前类
的代码ColorLamp(可以工作,但不是如何改变的):
public class ColorLamp extends Lamp
{
protected Color kleur = Color.GREEN;
public Color getColor()
{
return kleur;
}
}
<小时/>
可能的正确代码class
ColorLamp:
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();
}
}
最佳答案
您应该做的是让所有Lamp
对象都有一个Color
。 Lamp
类本身将具有 Color.Yellow
,并且不能从其他类更改。
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);
}
}
然后在ColorLamp
中,您可以删除private Color kleur;
并使用继承的protected Color kleur
字段。
要在绘制灯后更改颜色,您需要重新绘制
组件。
关于java - 其他类中改变颜色 "lamp",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37710040/
LAMP 堆栈一词是什么意思? 我在招聘启事中看到过这个引用,但我不完全理解它的含义。 我觉得在我的开发中我相当普遍地使用 LAMP,但是当我听到“stack”时,我觉得我没有像我应该的那样使用 LA
完全在 WAMP 中开发,我需要将其部署在组织中的 LAMP 设置上。我想确保部署顺利进行并花费尽可能少的时间。在将其部署到 LAMP 之前,我需要更改哪些内容?还有什么方法可以在一些模拟的 LAMP
在变得有点疏远开源,并花了几年时间在 ASP.NET 中开发 Web 应用程序之后,我将开始做相当多的PHP/MySQL开发。 我已经很轻松地安装了WampServer在我的 Windows 机器上建
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 6年前关闭。 Improve this questi
我正在尝试遵循一些与AWS相关的亚马逊教程(http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html)。这将允许我在我刚
我想在 Azure 服务器中设置 LAMP,可以使用以下方法设置 LAMP LAMP 包:sudo apt-get install lamp-server^ Apache、PHP、MySQL 单独安装
搭建LAMP Web服务器 在家中翻到了以前用的老电脑,在思索一番后,决定把这台电脑改造成一台Web服务器,作为我自己搭建博客的测试机器。 一、Linux服务器 LAMP中的L指的是Linux服
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 10年前关闭。 Improve this
请向我推荐一个基于Web的简单文档存储库,用于保存我的小公司文档(.DOC,.PDFs),以便我可以从任何地方访问它们。互联网上有很多可用的工具,但是它们很繁琐,并且充满了不必要的功能和要求。 我没有
我有一个个人项目已经在线一段时间了。我一直在通过这样做来记录下载量: 当用户点击下载链接时,它会点击一个 PHP 脚本,该脚本将一些信息写入表格。 写入数据后,脚本会返回实际文件的路径。 然后用户可以
我是 Ubuntu 的新手。安装灯。有几个问题 1)假设第一个网站目录看起来像:var/www/first/和第二个网站:var/www/second。如何设置多个网站,并将它们与 IIS 上的单独端
我的应用程序在 LAMP 服务器上运行时遇到了一些困难。我将解释该场景,下面我将介绍我的配置和一些 AB 结果。 我正在运行一个使用 Laravel 4.2 开发的应用程序。这是一个问答游戏,在某个时
情况: 我制作了一个可以打开和关闭灯的 Java 应用程序。现在我需要更改灯光,这必须发生在 class ColorLamp 中。正常的“黄”灯放在 class Lamp 中。 类 Colorlamp
嗨,最近我安装了 linux 并安装了 lamp + phpmyadmin,这个脚本在 xampp 上运行良好,而我使用了 win,但现在它不会执行,我已经更改了 dbconnect.php 文件中的
我在 Google 云上的 VM 实例上安装了 LAMP,但是当我尝试使用从 Linux 终端远程访问 mysql 数据库时 $ mysql -u username -h ipaddress -p 输
我在 EasyPHP 3.5.9 上开发了我的 php 软件,一切都很完美,现在我在 ubuntu 12.04 x64 上安装了 LAMP。如果我尝试在 ubuntu 上上传我的软件,我会显示一个白页
我最近(大约1个月)开始使用LAMP和Bootstrap。 我开发的网站在重新安装 LAMP 之前一直运行良好。 这是我的进展: 0. reinstalled LAMP 1. moved my "ba
我的项目驻留在一个共享的 Linux 托管服务器上。当然,托管服务提供商已经设置了相对于其他服务器用户的必要目录和文件所有权。我现在关心的是如何在我的域中设置权限,以便我的用户可以读取他们应该拥有的文
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
我是一名优秀的程序员,十分优秀!