Я импортировал изображение в апплет и попытался сделать его, если мышь нажата на кнопку, тогда он вернет «startButtonClicked», чтобы быть правдой, и страница изменится. Моя проблема заключается в том, что как только я запустил апплет, он сразу же перевернется на страницу 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, когда я запускаю его. :(помощь?
Теперь, когда я изменил его на то, что номер комнаты не изменится:/ – Intrinza
, потому что функция start() вызывается только в начале вашей программы; вам нужно вызвать эту функцию после того, как вы установили клик в значение true или просто измените номер комнаты, установив его в true. – Asura