如何退出 运行 程序?
How do I kick out of a running program?
如何为电调分配变量。键以便在按下时程序关闭?
我正在做一个计算器,我见过的唯一方法就是直接这样做:
Scanner console = new Scanner(System.in);
int x = 1;
while(x==1)
{...
System.out.println("Enter in -1 to exit program");
x = nextInt();
}
我不知道是否可以将 -1 分配给转义键。如果您有任何想法,请告诉我?这将是天文数字。 ;-) ... :-)
好久没用到好的库了,如果你能用JNativeHook库就可以轻松解决这个问题
这是一个例子:
import org.jnativehook.GlobalScreen;
import org.jnativehook.NativeHookException;
import org.jnativehook.keyboard.NativeKeyEvent;
import org.jnativehook.keyboard.NativeKeyListener;
public class TestEscKey implements NativeKeyListener{
@Override
public void nativeKeyPressed(NativeKeyEvent nke) {
if(NativeKeyEvent.getKeyText(nke.getKeyCode()).equals("Echap")){
System.out.println("I will exit!");
System.exit(0);
}else{
//do another thing
}
}
@Override
public void nativeKeyReleased(NativeKeyEvent nke) {
}
@Override
public void nativeKeyTyped(NativeKeyEvent nke) {
}
public static void main(String[] args) throws NativeHookException {
try {
GlobalScreen.registerNativeHook();
} catch (NativeHookException ex) {
System.out.println("There was a problem registering the native hook.\n"
+ ex.getMessage());
System.exit(1);
}
GlobalScreen.getInstance().addNativeKeyListener(new TestEscKey());
}
}
很遗憾,你不能。
ESC 无法被 Scanner
读取。您应该通过 UI 库(例如 Swing)使用密钥侦听器。看看 "How to write a key listener?".
在这种情况下,您应该向用户索要一个数字,这是循环中断的关键(就像您实际所做的那样)。
如何为电调分配变量。键以便在按下时程序关闭? 我正在做一个计算器,我见过的唯一方法就是直接这样做:
Scanner console = new Scanner(System.in);
int x = 1;
while(x==1)
{...
System.out.println("Enter in -1 to exit program");
x = nextInt();
}
我不知道是否可以将 -1 分配给转义键。如果您有任何想法,请告诉我?这将是天文数字。 ;-) ... :-)
好久没用到好的库了,如果你能用JNativeHook库就可以轻松解决这个问题
这是一个例子:
import org.jnativehook.GlobalScreen;
import org.jnativehook.NativeHookException;
import org.jnativehook.keyboard.NativeKeyEvent;
import org.jnativehook.keyboard.NativeKeyListener;
public class TestEscKey implements NativeKeyListener{
@Override
public void nativeKeyPressed(NativeKeyEvent nke) {
if(NativeKeyEvent.getKeyText(nke.getKeyCode()).equals("Echap")){
System.out.println("I will exit!");
System.exit(0);
}else{
//do another thing
}
}
@Override
public void nativeKeyReleased(NativeKeyEvent nke) {
}
@Override
public void nativeKeyTyped(NativeKeyEvent nke) {
}
public static void main(String[] args) throws NativeHookException {
try {
GlobalScreen.registerNativeHook();
} catch (NativeHookException ex) {
System.out.println("There was a problem registering the native hook.\n"
+ ex.getMessage());
System.exit(1);
}
GlobalScreen.getInstance().addNativeKeyListener(new TestEscKey());
}
}
很遗憾,你不能。
ESC 无法被 Scanner
读取。您应该通过 UI 库(例如 Swing)使用密钥侦听器。看看 "How to write a key listener?".
在这种情况下,您应该向用户索要一个数字,这是循环中断的关键(就像您实际所做的那样)。