创建一个线程,用于编写使用键盘输入的每个字符

时间:2013-04-04 04:52:48

标签: java multithreading swing keyboard keylistener

我正在尝试创建一个 thread ,它将创建一个text file并使用键监听器写入计算机上输入的每个字符,但我不知道怎么做我将创建的文件附加到用户将要输入的下一个字符.....可能是我混淆了所有人但我只想存储用户将键入的每个字符(通过键盘)

就像我执行我的应用程序一样,它会创建一个文件并开始将 keychar 写入该文件。

1 个答案:

答案 0 :(得分:1)

这个问题有点不清楚。首先,如果你想存储在系统上输入的每个字符,那么这是一项艰巨的任务(稍后会解释)。如果您想在顶部使用Java窗口注册关键笔划,那么您可以通过不关闭文件并附加到同一writer来实现这一点。

因此它将继续追加它。但请确保,所有密钥处理都在SwingUtilities.invokeLater()内进行。

现在,如果完成任务,它适用于任何窗口。然后它很乏味,首先是因为你需要操作系统支持它。您必须使用JNI或最好使用JNA。对于Windows,this会有所帮助。我不清楚使用哪种适当的功能,但你会在这里找到所有想要的(虽然你需要先看看win32 api)

private final User32 lib = = User32.INSTANCE;
//lib.appropriateMethod

对于Mac,使用Carbon框架(已弃用)或Cocoa

如果你用Java做这个很痛苦