2013-04-04 16 views
0

我想创建一个thread将创建一个text file和会写的每一个字输入计算机上使用的按键侦听器,但我没有得到我如何追加创建的文件与用户将输入的下一个字符.....可能是我混淆了每个人,但我只想存储用户将键入(通过键盘)每个字符创建一个线程,会写每个字符使用类型键盘

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

+0

你现在在写什么文件? – MadProgrammer 2013-04-04 04:53:34

+1

'写在计算机上键入每个字符 - Java不支持这一点。您只能访问当前拥有焦点的Java应用程序的KeyEvents。 – camickr 2013-04-04 04:56:32

+1

请粘贴您可能拥有的示例代码。我们可以看看它并根据它提出解决方案。 – 2013-04-04 05:04:56

回答

1

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

因此它会继续追加它。但请确保所有密钥处理发生在SwingUtilities.invokeLater()之内。

现在,如果在所有的任务,它为任何窗口。然后它很乏味,首先是因为你需要操作系统对它的支持。您将不得不使用JNI或最好是JNA。对于窗口,this将有所帮助。我不清楚用哪一种适当的功能,但你会发现这里所有的期望(虽然你需要在Win32 API的先看看)

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

同样适用于Mac,使用Carbon框架(不建议使用)或Cocoa

这是痛苦,如果你在Java中做它

+0

Jatin,因为你说我必须创建一个User32的实例,但我认为它会提供每一步如复制一个文件或执行一些操作 – 2013-04-04 07:46:01

+0

我很抱歉,但我没有得到您的声明。你可以详细说明 – Jatin 2013-04-04 08:07:32

+0

我是说user32反映了用户执行的所有操作,或者它只是代表键盘实例 – 2013-04-05 09:51:40

相关问题