按钮在启动时单击右键?

时间:2015-05-23 22:49:02

标签: java button applet

我将一个图像导入applet并试图在按钮上按下鼠标然后它将返回“startButtonClicked”为真,页面将会改变。我的问题是,一旦我启动applet,它会立即翻到第2页,就好像它是真的一样。如果我取消改变页面的代码行,如果它是真的,那么它将恢复正常。我测试了我是否通过绘制椭圆并看到它将绘制的位置来获得尺寸和坐标,并且它完美地绘制在按钮上!我不明白我做错了什么。 (一切都正确实施)

以下是涉及它的一些代码:

int roomPage = 0;
int xPos;
int yPos;
boolean startButtonClicked = false;
boolean instructionsButtonClicked = false;
int startButtonX = 700;
int startButtonY = 200;

涉及它的代码:

public void init() {
    setSize(1024,640);
    addKeyListener(this);   
    addMouseListener(this);
}

public void start(){

    if(startButtonClicked = true){
        roomPage = 2;
    }
}

页数:

public void paint(Graphics g){      
    switch (roomPage){
    case 0: homeScreen(g); break;
    case 1: instructionsPage(g); break;
    case 2: startPage(g); break;
    }
}
发布鼠标时

public void mouseReleased(MouseEvent me) {
    // TODO Auto-generated method stub

    xPos = me.getX(); 
    yPos = me.getY();

    if (xPos > startButtonX && xPos < startButtonX+216 && yPos >startButtonY &&  
            yPos < startButtonY+85){
        startButtonClicked = true;
    }
    else{
        startButtonClicked = false;
    }
    repaint();


}

启动它时没有任何错误,但是当我启动时它直接转到第2页。 :(帮忙?

2 个答案:

答案 0 :(得分:0)

if(startButtonClicked = true){
    roomPage = 2;
}

您将startButtonClicked指定为true(始终为true)而不是条件语句==。

    if(startButtonClicked == true){
    roomPage = 2;
}

   if(startButtonClicked){
    roomPage = 2;
} 

答案 1 :(得分:0)

我把它改为:

if(startButtonClicked){
roomPage = 2;
}

它再次恢复正常但是当我点击按钮时它不会改变roomPage。