Я делаю простой апплет Java, который отображает светофор. Если клавиши не нажаты, фон будет белым. Если вы нажмете клавиши «1», «2» или «3» на цифровой клавиатуре, тогда светофор должен с уважением относиться к цветам: красный, зеленый и желтый. Он не работает, потому что, когда я нажимаю клавиши, ничего не происходит. все isX-булевы инициализируются значением false, за исключением isReleased.Покраска изображения при нажатии клавиши
@Override
public void keyPressed(KeyEvent e) {
isReleased = false;
switch(e.getKeyCode()){
case KeyEvent.VK_NUMPAD1:
isRed=true;
break;
case KeyEvent.VK_NUMPAD2:
isGreen=true;
break;
}
}
@Override
public void keyReleased(KeyEvent e) {
isReleased = true;
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void paint(Graphics g) {
g.setColor(Color.WHITE);
g.fillRect(0, 0, getWidth(), getHeight());
g.drawImage(trafficLight, 0, 0, null);
if(isReleased==true){
g.drawImage(blank, 0, 0, this);
}else{
if(isRed==true){
g.drawImage(red, 0, 0, this);
}
if(isGreen==true){
g.drawImage(green, 0, 0, this);
}
}
}
ПРИМЕЧАНИЕ
(обновлено) Мой полный код можно увидеть здесь: http://pastebin.com/8ZNQUWJy
Heres полный код: http://pastebin.com/8ZNQUWJy – MrAwesome8
Спасибо за всю эту полезную информацию. – MrAwesome8