This commit is contained in:
huangyuhui
2016-02-23 20:32:24 +08:00
parent 7c3159fc23
commit 770ec3ab97
21 changed files with 215 additions and 116 deletions

View File

@@ -92,8 +92,9 @@ public class Java {
*/
public static List<Java> queryAllJDKInMac() {
List<Java> ans = new ArrayList<>();
if (new File("/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home").exists())
ans.add(new Java("JRE", "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home"));
File jre = new File("/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home");
if (jre.exists())
ans.add(new Java("JRE", jre.getPath()));
File f = new File("/Library/Java/JavaVirtualMachines/");
if (f.exists())
for (File a : f.listFiles())
@@ -109,36 +110,28 @@ public class Java {
public static List<Java> queryAllJavaHomeInWindowsByReg() {
List<Java> ans = new ArrayList<>();
try {
List<String> javas = queryRegSubFolders("HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Runtime Environment");
for (String java : javas) {
int s = 0;
for (char c : java.toCharArray())
if (c == '.')
s++;
if (s <= 1)
continue;
String javahome = queryRegValue(java, "JavaHome");
if (javahome != null)
ans.add(new Java(java.substring("HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Runtime Environment\\".length()), javahome));
}
javas = queryRegSubFolders("HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit");
for (String java : javas) {
int s = 0;
for (char c : java.toCharArray())
if (c == '.')
s++;
if (s <= 1)
continue;
String javahome = queryRegValue(java, "JavaHome");
if (javahome != null)
ans.add(new Java(java.substring("HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\".length()), javahome));
}
queryJava(ans, "HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Runtime Environment");
queryJava(ans, "HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit");
} catch (IOException | InterruptedException ex) {
HMCLog.err("Faield to query java", ex);
}
return ans;
}
private static void queryJava(List<Java> ans, String location) throws IOException, InterruptedException {
for (String java : queryRegSubFolders(location)) {
int s = 0;
for (char c : java.toCharArray())
if (c == '.')
++s;
if (s <= 1)
continue;
String javahome = queryRegValue(java, "JavaHome");
if (javahome != null)
ans.add(new Java(java.substring(location.length()), javahome));
}
}
private static List<String> queryRegSubFolders(String location) throws IOException, InterruptedException {
String[] cmd = new String[] { "cmd", "/c", "reg", "query", location };
List<String> l = IOUtils.readProcessByInputStream(cmd);

View File

@@ -19,6 +19,7 @@ package org.jackhuang.hellominecraft.util.ui;
import java.awt.Frame;
import java.awt.HeadlessException;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.util.List;
@@ -38,35 +39,11 @@ public class WebFrame extends JFrame {
}
public WebFrame(String content) throws HeadlessException {
addWindowListener(new WindowListener() {
@Override
public void windowOpened(WindowEvent e) {
}
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
SwingUtils.exitIfNoWindow(WebFrame.this);
}
@Override
public void windowClosed(WindowEvent e) {
}
@Override
public void windowIconified(WindowEvent e) {
}
@Override
public void windowDeiconified(WindowEvent e) {
}
@Override
public void windowActivated(WindowEvent e) {
}
@Override
public void windowDeactivated(WindowEvent e) {
}
});
add(new WebPage(content));