|
1 | 1 | package org.mcphackers.mcp.main; |
2 | 2 |
|
3 | | -import java.awt.BorderLayout; |
4 | | -import java.awt.Font; |
5 | | -import java.awt.Frame; |
| 3 | +import java.awt.*; |
6 | 4 | import java.awt.event.ActionListener; |
7 | 5 | import java.io.File; |
8 | 6 | import java.io.IOException; |
|
15 | 13 | import java.nio.file.Paths; |
16 | 14 | import java.util.List; |
17 | 15 |
|
18 | | -import javax.swing.BoxLayout; |
19 | | -import javax.swing.JFileChooser; |
20 | | -import javax.swing.JFrame; |
21 | | -import javax.swing.JLabel; |
22 | | -import javax.swing.JOptionPane; |
23 | | -import javax.swing.JPanel; |
24 | | -import javax.swing.JScrollPane; |
25 | | -import javax.swing.JTextArea; |
26 | | -import javax.swing.JTextPane; |
27 | | -import javax.swing.SwingConstants; |
28 | | -import javax.swing.SwingUtilities; |
29 | | -import javax.swing.UIManager; |
30 | | -import javax.swing.UnsupportedLookAndFeelException; |
| 16 | +import javax.swing.*; |
31 | 17 | import javax.swing.border.EmptyBorder; |
32 | 18 | import javax.tools.JavaCompiler; |
33 | 19 | import javax.tools.ToolProvider; |
@@ -303,6 +289,20 @@ public void inputOptionsValue(TaskParameter param) { |
303 | 289 | if (param.type == String[].class) { |
304 | 290 | s = MCP.TRANSLATOR.translateKey("options.enterValues") + "\n" + MCP.TRANSLATOR.translateKey("options.enterValues.info"); |
305 | 291 | } |
| 292 | + if (param.equals(TaskParameter.JAVA_HOME)) { |
| 293 | + JFileChooser chooser = new JFileChooser(); |
| 294 | + chooser.setDialogTitle("Select JAVA_HOME Directory"); |
| 295 | + chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); |
| 296 | + chooser.setAcceptAllFileFilterUsed(false); |
| 297 | + |
| 298 | + int result = chooser.showOpenDialog(null); |
| 299 | + |
| 300 | + if (result == JFileChooser.APPROVE_OPTION) { |
| 301 | + s = chooser.getSelectedFile().getAbsolutePath() + "/bin/java"; |
| 302 | + } else { |
| 303 | + System.out.println("No folder selected."); |
| 304 | + } |
| 305 | + } |
306 | 306 | String value = (String) JOptionPane.showInputDialog(frame, s, param.getDesc(), JOptionPane.PLAIN_MESSAGE, null, null, Util.convertToEscapedString(String.valueOf(options.getParameter(param)))); |
307 | 307 | safeSetParameter(param, value); |
308 | 308 | options.save(); |
|
0 commit comments