Дело в том, что я создаю JFrame с текстом, показанным почти как визуальный роман. И когда текст в JLabel сделан, в нижней части экрана отображается мигающий символ стрелки «>». Я добираюсь так далеко, но как мне сделать перерыв цикла while, если я нажму клавишу ввода. Allmost все ответы в Интернете было около JTextField и консоли ...Java Break a while loop with enter button
public static void nextSymbol(boolean blink) {
ImageIcon nextIcon = null;
boolean blinked = false;
if(blink) {
nextIcon = new ImageIcon("res/image/next.gif");
while(blink){
if (/* When ENTER is pressed */){
System.out.println("Disabled");
blink = false;
}
pause(0.01);
}
blinked = true;
}
if(!blink && blinked)
vnGame.nextSymbolIcon.setIcon(null);
else
;
blinked = false;
}
EDIT
Таким образом, после некоторого смешения я изменил программу ... ни один из ответов не работал (или я неправильно somethign ИДК ...)
Ну новый код теперь:
public static void nextSymbol() {
ImageIcon nextIcon = null;
nextIcon = new ImageIcon("res/image/next.gif");
vnGame.nextSymbolIcon.setIcon(nextIcon);
boolean next = false;
Continue = 0;
do {
vnGame.contentPane.requestFocus();
switch(Continue) {
case 1:{
next = true;
break;
}
default:break;
}
}while(!next);
SysPrint("Continue!");nl();
}
продолжени метод изменения здесь (другой класс):
public void keyPressed(KeyEvent e) {
if (e.getKeyChar() == 's') {
VONGINE.SysPrint("S");
VONGINE.Continue = 1;
}
}
И, наконец, новый вопрос проблема ... Как я называю ...
keyPressed(KeyEvent e)
... во время цикла делать?
[Class KeyEvent] (http://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html) – Smit
Честно говоря, я не понимаю вопроса. Я действительно не понимаю, чего вы пытаетесь достичь.Наверное, давая нам больше контекста и рассказывая нам, что ваша цель, поможет нам помочь вам. –
Я хочу сделать цикл, на этот раз в цикле while, который ломается, если я нажимаю EnterKey на моей клавиатуре. В принципе, бесконечный цикл с перерывом на ввод ключа. –