- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试通过在特定区域内单击来选择颜色时遇到问题。在该区域单击时,有时不会响应点击,并且选择其他颜色时会重复以前和当前的颜色。
@Override
public void mousePressed(MouseEvent e) {
/*
* Selecting color
*/
if(e.getX()>0 && e.getX()<(cwidth) && e.getY()>1 && e.getY()<panelHeight){
c=Color.BLACK;
System.out.println("BLACK");
}
if(e.getX()>(cwidth) && x1< (cwidth*2) && e.getY()>1 && e.getY()<panelHeight){
c=Color.RED;
System.out.println("RED");
}
if(e.getX()>(cwidth*2) && x1< (cwidth*3) && e.getY()>1 && e.getY()< panelHeight){
c=Color.GREEN;
System.out.println("GREEN");
}
if(e.getX()>(cwidth*3) && x1< (cwidth*4) && e.getY()>1 && e.getY()<panelHeight){
c=Color.BLUE;
System.out.println("BLUE");
}
我该如何解决这个问题?我转而使用类级别变量来计算单元格宽度以消除粗心错误。控制台中的调试颜色消息没有任何意义,为什么它在按下鼠标时不会切换到新颜色,而不是等待我双击或单击不同的颜色。
完整的 PaintPanel.java 源代码链接:
PaintPanel.java - http://pastebin.com/7pay4Paz
最佳答案
你需要使用if-else
:
@Override
public void mouseClicked(MouseEvent e) {
/*
* Selecting color
*/
if(e.getX()>0 && e.getX()=<(cwidth)){
c=Color.BLACK;
System.out.println("BLACK");
}
else if(e.getX()>(cwidth) && x1=< (cwidth*2) ){
c=Color.RED;
System.out.println("RED");
}
else if(e.getX()>(cwidth*2) && x1=< (cwidth*3)){
c=Color.GREEN;
System.out.println("GREEN");
}
else if(e.getX()>(cwidth*3) && x1=< (cwidth*4)){
c=Color.BLUE;
System.out.println("BLUE");
}
这样,当其中一个条件为真时,程序将不会检查其余条件是否为真。
关于Java画图程序。框架区域鼠标按下的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40425148/
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 3 年前。 Improv
我需要在DOS下通过Assembly(intel)+C(c99)绘制QRCode。但看来我的内存太少了。我尝试将图像存储为位数组: image db 11111110b, ... 但无论如何我没有结果
我正在使用 Xamarin.Android 制作自定义 View ,我想在 Canvas 上绘制一个圆然后在其上绘制一个位图。圆正在正确绘制,但位图不是位图对应一个png图片资源。这是我的 OnDra
我正在通过编写游戏来学习 Android,但遇到了图形 API 方面的问题。 我想将图像绘制成路径的形状,然后在路径上添加边框。我能够使用 Path 剪辑图像,但找不到在其上添加边框的方法。我认为这很
我是一名优秀的程序员,十分优秀!