我的_holder.getColor()
應該默認返回顏色RED,並且這些條件語句不起作用。我認爲我的語法錯了。在Java中使用訪問器方法的條件語句
基本上我希望能突出一個paintswatch,當我點擊它時,如果色板顏色與ColorHolder
中的顏色相同,我希望它取消選擇色板。
import wheels.users.*;
import java.awt.Color;
import java.awt.event.MouseEvent;
public class PaintSwatch extends Ellipse
{
private ColorHolder _holder;
public int _i;
public PaintSwatch(Color c,ColorHolder holder){
super(c);
_holder = holder;
_i = 1;
}
public void mouseClicked(MouseEvent e){
if (_holder.getColor() != super.getColor()){
super.setFrameColor(Color.BLACK);
super.setFrameThickness(3);
_holder.setColor(super.getColor());
}
if (_holder.getColor() == super.getColor()){
super.setFrameThickness(10);
super.setFrameColor(Color.WHITE);
_holder.setColor(Color.RED);
}
}
}
這裏是我的ColorHolder類:
import java.awt.Color;
public class ColorHolder implements Colorable
{
private Color _currentColor;
public ColorHolder()
{
_currentColor = Color.RED;
}
public Color getColor(){
return _currentColor;
}
public void setColor(Color c){
_currentColor = c;
}
}
您可能需要使用'equals()方法的''而不是'==。你正在比較「Color」類型的對象。.. – Maroun
嘿,謝謝!這是正確的嗎?如果(_holder.getColor.equals(super.getColor())){...} – dio
試一試;) – Maroun