JAVA:使用键盘关闭控制台

时间:2017-08-22 02:24:00

标签: java

所以我正在学习编程,我有这位老师给我们这个代码做一些功课。我需要做的是找到一种方法来使用键盘上的键组合关闭控制台/应用程序(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();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

请查看此Custom keyboard shortcut in javahttps://coderanch.com/t/341332/java/setting-keyboard-navigation-shortcut-keys

PS: - 我设法使用Windows输入模拟器(https://inputsimulator.codeplex.com/)在WinFormApp中执行此操作。