- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我刚开始使用 Applets,当 applet 加载时,我正在制作一扇打开的门和 2 个打开的 window 的房子。当您单击这些 window 或门时,它们将关闭。不过,我的问题是我需要做什么才能重新打开这些 window 门。我想我需要以某种方式将 boolean 变量设置为 False 并重新绘制。我会在哪里做这个。我不需要你们帮我写代码,我只是想知道我应该做什么。
提前致谢
瑞克
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/**
Rick Armstrong
Chapter 14 - House Applet
*/
public class HouseApplet extends Applet {
boolean leftWin, rightWin, door;
public void init()
{
leftWin = false;
rightWin = false;
door = false;
setBackground(Color.white);
addMouseListener(new MyMouseListener());
}
public void paint(Graphics g)
{
super.paint(g);
// Draw the house.
g.setColor(Color.black);
g.drawRect(100, 100, 200, 100);
// Draw the roof
g.drawLine(80, 100, 320, 100);
g.drawLine(80, 100, 200, 40);
g.drawLine(200, 40, 320, 100);
// Draw the left window open.
g.fillRect(120, 130, 40, 40);
// Draw the right window open.
g.fillRect(240, 130, 40, 40);
// Draw the door open.
g.fillRect(180, 130, 40, 70);
if (leftWin) {
// Draw the left window closed.
g.setColor(Color.white);
g.fillRect(120, 130, 40, 40);
g.setColor(Color.black);
g.drawRect(120, 130, 40, 40);
g.drawLine(140, 130, 140, 170);
g.drawLine(120, 150, 160, 150);
}
if (rightWin) {
// Draw the right window closed.
g.setColor(Color.white);
g.fillRect(240, 130, 40, 40);
g.setColor(Color.black);
g.drawRect(240, 130, 40, 40);
g.drawLine(260, 130, 260, 170);
g.drawLine(240, 150, 280, 150);
}
if (door) {
// Draw the door closed.
g.setColor(Color.white);
g.fillRect(180, 130, 40, 70);
g.setColor(Color.black);
g.drawRect(180, 130, 40, 70);
g.fillOval(210, 165, 07, 07);
}
}
private class MyMouseListener implements MouseListener
{
public void mousePressed(MouseEvent e)
{
}
public void mouseClicked(MouseEvent e)
{
int currentx = e.getX();
int currenty = e.getY();
boolean WindowLeft = (currentx >= 120 && currentx < 160 && currenty >= 130 && currenty <= 170);
if (WindowLeft)
{
leftWin = true;
repaint();
}
boolean WindowRight = (currentx >= 240 && currentx < 280 && currenty >= 130 && currenty <= 170);
if (WindowRight)
{
rightWin = true;
repaint();
}
boolean Door = (currentx >= 180 && currentx < 220 && currenty >= 40 && currenty <= 200);
if (Door)
{
door = true;
repaint();
}
else;
}
public void mouseReleased(MouseEvent e)
{
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
}
最佳答案
也许我误解了这个问题,但为什么您总是在事件处理程序中将值设置为 true?
如果你想要一个切换行为,你可以简单地写:value = !value
然后重新绘制。由于您最初将值设置为 false,下一次点击会将其设置为 true,下一次点击将设置为 false,等等。
例如:
if (WindowLeft)
{
leftWin = !leftWin;
repaint();
}
请注意,您可能会通过点击速度快于框架有机会更新 View 而导致某种“竞争条件”,但这通常不是初始问题的问题。
顺便说一句:就可读性而言,请考虑以传达变量含义的方式命名变量。例如,命名门是否会让人联想到 boolean 值?并不真地。但 doorOpen 是,它有助于解释变量的含义及其转换。
关于Java House 小程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10307797/
我正在编写一个正则表达式,需要满足以下条件。 (name="myName".*house="myHouse"|house="myHouse".*name="myName") 名字或房子都可以放在第一位
所以我刚开始使用 Applets,当 applet 加载时,我正在制作一扇打开的门和 2 个打开的 window 的房子。当您单击这些 window 或门时,它们将关闭。不过,我的问题是我需要做什么才
我正在做 House Robber challenge . You are a professional robber planning to rob houses along a street. E
我正在尝试使用R从API提取文档。感谢this post中过程的澄清。我一直遵循上述步骤取得了部分成功,但是仍然无法通过最后一步获得对文档内容的访问权限: Find the document fili
关于苹果文档,企业程序允许在内部分发应用程序。 Apple 如何区分内部用户和内部用户?合作伙伴公司? 或者这只是法律协议(protocol)中的一段,将内部分发定义为仅允许公司成员使用? 最佳答案
我已经为 3 个字段中的一小部分记录设置了全文索引(也尝试了 3 个字段的组合并得到了相同的结果),有些词返回结果很好,但某些词如“house” ' 和 'australia' 没有(有趣的是,'au
我有一个用于存储房地产的 NoSQL 系统。 我在每个房子的键值存储中的一条信息是经度和纬度。 如果我想检索地理纬度/经度框中的所有房屋,如下面的 SQL: SELECT * from houses
让我们承认,我在 100 部 iPhone 上部署了一个应用程序,使用的是苹果“内部”部署的企业程序。所有这些都将连接到互联网。分发证书到期后会发生什么?我的所有员工都需要再次下载该应用程序,并使用新
我知道像这样的问题已经被问了一遍又一遍,但我找不到直截了当的答案。 我看过guides这似乎允许您分发您的应用 OTA,而无需成为企业计划的一部分。 我还看到了一些技巧,如果您的主机中没有 SSL 证
我在翻译这句话时遇到了问题: “运行内部系统意味着您可以 利用您现有的安全系统进行身份验证、授权等”——来自 Pro C# 2010 和 .NET 4 平台 谷歌翻译对我没有帮助。 我不想把它翻译成我
我目前是一个Python新手,正在使用Python创建一些游戏。我编写了一个游戏“纸牌屋”,基本上我正在尝试使用我在 OOP 中学到的知识来完成它。规则非常简单——你需要最大的牌才能获胜。玩家首先比较
我正在开发一款使用 Amazon Web Services 将视频上传到 S3 的 iPhone 应用程序。我可以有小尺寸的视频或大尺寸的视频。在上传过程中,有时会完全挂起,只是停顿,没有任何错误或超
我有一个可以使用 Enterprise Distribution 通过 S3 Bucket 下载的应用程序,它第一次失败并显示正在加载,但是当我使用配置实用程序通过将设备连接到计算机来手动安装证书时,
我的一位客户在他的招标规范中提到了“数据库管理”一词。我不确定这个词,请帮助。 最佳答案 应该是: 索引重建或重组 统计更新 DBCC CHECKDB(检查完整性等)-等等 其他内容: 检查磁带/离线
题目地址:https://leetcode.com/problems/house-robber-iii/description/ 题目描述 Thethief has found himself a
题目地址:https://leetcode.com/problems/house-robber-ii/description/ 题目描述: Youare a professional robber
Click House 中的 Store 文件夹是什么? Click House中有一个名为Store的文件夹,它的体积非常大。 虽然我没有更多的数据库并且其大小为 1 GB,但 Store 文件夹几
使用 XSL-FO 时,有没有一种方法可以防止单词在分页符上连字符,而一般的连字符是打开的?我正在使用 Antenna House Formatter。提前谢谢你。 最佳答案 抱歉,不,我不知道有什么
我想知道是否有人知道如何在 java 中实现代码来打印所有满堂彩的情况。大约有 3700 种不同的情况。到目前为止,我大约有 2700 点,但我在更换西装时遇到了麻烦,她就是我目前所拥有的。 publ
我不是在问这里的代码!我问的是这里的流程。 我想通过 XML gateway of Companies House 搜索公司名称可用性。我知道如何在 Java 中使用 jabx 编码和解码数据,但我不
我是一名优秀的程序员,十分优秀!