Простите меня, если я задаю слишком большой вопрос, я пытаюсь научиться кодировать, и я думаю, что мне не хватает большой информации о KeyListiner. Я пытаюсь сделать простую программу, которая «переворачивает кости» и отображает изображение с номерами 1-6, когда пользователи нажимают клавишу. Моя программа, похоже, не реагирует на любой пользовательский ввод.Java KeyListener не отвечает
Что я делаю неправильно?
Благодарим за любую помощь, я просто пытаюсь узнать, что любой совет ценится.
public class Dice {
public static void main (String arg[]) {
new DD();
}
}
class DD extends JPanel {
DD(){
JFrame frame = new JFrame();
ImageIcon icon = new ImageIcon("dice.jpg");
JLabel label = new JLabel(icon);
frame.add(label);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
addKeyListener(new Roll());
}
}
class Roll extends JFrame implements KeyListener {
public void keyPressed(KeyEvent event){}
public void keyReleased(KeyEvent event){}
public void keyTyped(KeyEvent event){
int d = event.getKeyCode();
if(d == KeyEvent.VK_UP){
int roll = (int) (Math.random()*6) + 1;
System.out.println(roll);
}
}
}
Почему 'Roll' простираться от' JFrame '? * «Я думаю, что мне не хватает большой информации о KeyListiner» *, вероятно, похоже на то, что вы должны использовать [Key Bindings] (http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding. html) API – MadProgrammer