50 lines
1.2 KiB
Java
50 lines
1.2 KiB
Java
import java.awt.event.KeyEvent;
|
|
import java.io.IOException;
|
|
import java.awt.EventQueue;
|
|
import java.awt.event.KeyAdapter;
|
|
import javax.swing.JFrame;
|
|
|
|
public final class KeyboardInputObtainYOrN {
|
|
|
|
public static void main(String[] aArgs) {
|
|
EventQueue.invokeLater( () -> { new Test("Obtain Y or N"); } );
|
|
}
|
|
|
|
}
|
|
|
|
final class Test extends JFrame {
|
|
|
|
public Test(String aTitle) {
|
|
super(aTitle);
|
|
addKeyListener( new YesOrNoKeyAdapter() );
|
|
setVisible(true);
|
|
|
|
try {
|
|
while ( System.in.available() > 0 ) {
|
|
System.in.read();
|
|
}
|
|
} catch (IOException ioe) {
|
|
ioe.printStackTrace();
|
|
}
|
|
|
|
System.out.println("Do you want to quit the program? Y / N");
|
|
}
|
|
|
|
}
|
|
|
|
final class YesOrNoKeyAdapter extends KeyAdapter {
|
|
|
|
@Override
|
|
public void keyPressed(KeyEvent aKeyEvent) {
|
|
if ( aKeyEvent.getKeyCode() == KeyEvent.VK_Y ) {
|
|
System.out.println("Y was pressed, quitting the program");
|
|
Runtime.getRuntime().exit(0);
|
|
} else if ( aKeyEvent.getKeyCode() == KeyEvent.VK_N ) {
|
|
System.out.println("N was pressed, but the program is about to end anyway");
|
|
Runtime.getRuntime().exit(0);
|
|
} else {
|
|
System.out.println("Please try again, only Y or N are acceptable");
|
|
}
|
|
}
|
|
|
|
}
|