【问题标题】:JAVA: Use keyboards to close app in consoleJAVA:使用键盘在控制台中关闭应用程序
【发布时间】:2017-08-22 10:35:19
【问题描述】:

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

【问题讨论】:

标签: java


【解决方案1】:

请看一下这个Custom keyboard shortcut in javahttps://coderanch.com/t/341332/java/setting-keyboard-navigation-shortcut-keys

PS:- 我设法在 WinFormApp 中使用 Windows 输入模拟器 (https://inputsimulator.codeplex.com/) 做到了这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多