所以我正在学习编程,我有这位老师给我们这个代码做一些功课。我需要做的是找到一种方法来使用键盘上的键组合关闭控制台/应用程序(CTRL +一个字母)。但我做了很多研究,我发现只有使用接口(Swing,GIU)和KeyEvents方法,KeyStrokes或Key绑定才能实现。 实际上,只有一个来自另一个班级的人可以找到该怎么做,而老师只是说:“有可能使用ALT +一封信,在文档中查找。使用CTRL更难,但也可能”。 这是我的第一篇文章,我也是编程的初学者,请善待。 :(
package progra2;
import java.io.FileNotFoundException;
import java.lang.SecurityException;
import java.util.Formatter;
import java.util.FormatterClosedException;
import java.util.NoSuchElementException;
import java.util.Scanner;
public class Creararchivotexto {
private static Formatter output; //outputs text to a file
public static void main(String[] args) {
openFile();
addRecords();
closeFile();
}
//open file clients.txt
public static void openFile() {
try {
output = new Formatter("clients.txt"); //open the file
} catch (SecurityException securityException) {
System.err.println("Write permission denied. Terminating. ");
System.exit(1); //terminate the program
} catch (FileNotFoundException fileNotFoundException) {
System.err.println("Error opening file. Terminating. ");
System.exit(1); //terminate the program
}
}
public static void addRecords() {
Scanner input = new Scanner(System.in);
System.out.printf("%s%n? ", "Enter account number, first name, last name and balance");
try {
//output new record to file; assumes valide input
output.format("%d %s %s %.2f%n", input.nextInt(), input.next(), input.next(), input.nextDouble());
} catch (FormatterClosedException formatterClosedException){
System.err.println("Error writing to file. Terminating");
}catch (NoSuchElementException elementException){
System.err.println("Invalid input. Please try again");
input.nextLine(); //discard input so user can try again
}
System.out.print("? ");
}
//close file
public static void closeFile() {
if (output!= null) {
output.close();
}
}
}
答案 0 :(得分:0)
请查看此Custom keyboard shortcut in java和https://coderanch.com/t/341332/java/setting-keyboard-navigation-shortcut-keys
PS: - 我设法使用Windows输入模拟器(https://inputsimulator.codeplex.com/)在WinFormApp中执行此操作。