Articles of Java的

在Windows / Linux / Mac上的Java程序中响应全局热键?

Java6应用程序位于系统托盘中。 它需要使用热键(例如Super-G或Ctrl-Shift-L等)激活并执行某些操作(例如显示input框)。 我如何做到这一点: Windows(XP或Vista) OS / X Linux(Gnome或KDE)

损坏的jar文件

我已经使用eclipse在Windows 7中创build了一个jar文件。 当我试图打开jar文件它说无效或损坏的jar文件。 任何人都可以build议我为什么jar文件无效?

在Windows上如何合并GIT?

我试图使用GIT,但对我来说,最大的问题是,没有兼并的工具。 至lessmsysgit不给我任何东西。 我如何在GIT中合并? 是否有任何伟大的工具,或者我必须使用WinMerge或应用程序? 我使用Java和Eclipse。

JNA – 查询Windows进程

我正在尝试使用JNA来返回特定Windows进程的详细信息。 不完全确定如何做到这一点。 无法在互联网上find很多帮助。 我想返回的一些信息包括CPU和内存使用情况。 下面只是我find的一个例子。 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.DataInputStream; import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import com.sun.jna.*; import com.sun.jna.Library.Handler; import com.sun.jna.platform.win32.*; import com.sun.jna.platform.win32.Advapi32Util.*; import com.sun.jna.platform.win32.WinNT.*; import com.sun.jna.ptr.IntByReference; import com.sun.jna.win32.*; import com.sun.jna.Native; import com.sun.jna.platform.win32.*; import com.sun.jna.win32.W32APIOptions; public class WindowsProcess { public static void main(String[] args) { WinNT winNT = (WinNT) Native.loadLibrary(WinNT.class, W32APIOptions.UNICODE_OPTIONS); […]

如何指定与基础Windows代码页一致的Java file.encoding值?

我有一个使用InputStreamReader通过套接字接收数据的Java应用程序。 它从它的getEncoding方法报告“Cp1252”: /* java.net. */ Socket Sock = …; InputStreamReader is = new InputStreamReader(Sock.getInputStream()); System.out.println("Character encoding = " + is.getEncoding()); // Prints "Character encoding = Cp1252" 这与系统报告的代码页不一定匹配。 例如: C:\> CHCP 有效代码页:850 应用程序可以接收字节0x81,在代码页850中代表字符ü 。 程序使用代码页1252来解释那个字节,它没有在那个值上定义任何字符,所以我得到了一个问号。 我能够通过在启动应用程序的batch file中添加另一个命令行选项来为使用代码页850的一位客户解决此问题: java.exe -Dfile.encoding = Cp850 … 但是,当然,并不是所有的客户都使用代码页850。 我如何让Java使用与底层Windows系统兼容的代码页? 我的偏好是我可以放在batch file中,而不改变Java代码: ENC = … java.exe -Dfile.encoding =%ENC%…

当我运行我的自动刷新,我无法阻止它

如果我点击开始button,我不能点击返回或停止。 我需要停止应用程序。 停止应用程序的一种方法是,您必须closures电脑:D。 当应用程序正在运行时,启动button被locking,我不能点击它。 点击退出button不起作用。 这个应用程序是简单的AutoClicker。 在java中存在比机器人类更好的autoclicker吗? 我该如何解决? 有没有错误的地方? 或者有什么我可以做停止应用程序? import java.awt.AWTException; import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.Robot; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JCheckBox; import javax.swing.JLabel; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.awt.Color; public class AutoClicker extends JFrame { private JPanel contentPane; private final JLabel m = new JLabel("AutoClicker"); /** […]

Java:确定当前Windows用户的程序化方法

我看到很多类似的问题,但是我想find使用Java的当前login用户的用户名。 它可能是这样的: System.getProperty(current.user); 但是,我不太确定。

从Java读取Windows ACL

从Java程序中,我希望能够列出有权读取给定文件的Windows用户和组。 Java没有内置的读取Windows ACL信息的能力(至less在Java 7之前 ),所以我正在寻找其他解决scheme。 是否有任何第三方库可用于直接访问Windows文件的ACL信息? 如果不这样做,也许运行cacls和捕获,然后处理输出将是一个合理的临时解决scheme – cacls的输出格式是否在任何地方彻底logging,是否可能会改变之间的Windows版本?

在Windows中使用java查找特定的registry项

我可以去窗户regedit,然后去编辑 – >find并键入我想在我的电脑(在我的情况下,最大值)find的密钥,并find所需的密钥(的最大值)(在我的情况下,它是在“HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ Maxima-5.17.1_is1“),但我需要在java中dynamic地执行此操作,并在Windows中查找当前安装的maxima版本及其目录位置。 我不知道如何进行。 我试图使用这里陈述的方法: 读/写使用Java的Windowsregistry ,但要使用这些方法,我需要知道的关键。 如何在Java中dynamic地find密钥? 或者有没有其他的方法来find在Windows中使用Java的软件的版本和目录位置?

使用SSPI从Windows上运行的Java应用程序获取SSO

我有一个在Windows上运行的Java应用程序,需要使用Kerberos / SPNEGO进行身份validation。 我知道如何configurationJAAS来实现这一目标,但是我发现Java(JDK6和JDK7beta)Kerberos实现缺less一些我需要的重要function。 例如,支持推荐或使用DNS来找出主机的领域(我有一个多领域的环境)。 是否有第三方模块可以使用Windows本机SSPI来实现身份validation? 我们已经经历了configuration我们的Windows客户端在我们的环境中工作的麻烦,不用再为Java做这件事了。 我知道Waffle和它的WindowsLoginModule,但它似乎没有做SSO,因为它要求用户重新input他们的凭据到应用程序中。