Selaa lähdekoodia

algorithm exception handling

Kevin Trometer 7 vuotta sitten
vanhempi
commit
fbcf5b7c97
1 muutettua tiedostoa jossa 13 lisäystä ja 5 poistoa
  1. 13 5
      src/ui/view/AlgorithmMenu.java

+ 13 - 5
src/ui/view/AlgorithmMenu.java

@@ -32,7 +32,7 @@ public class AlgorithmMenu extends JMenu {
 	JMenuItem algoFolderButton = new JMenuItem("Select Algorithm Folder");
 	private JMenu mnSelectAlgorithm = new JMenu("Select Algorithm");
 	private HashMap<String, File> algosHash = new HashMap<>();
-	private JMenuItem noneItem= new JMenuItem("none");
+	private JMenuItem noneItem = new JMenuItem("none");
 
 	// root Directory
 	File root = null;
@@ -55,7 +55,6 @@ public class AlgorithmMenu extends JMenu {
 		this.controller = cont;
 		this.setText("Algorithm");
 
-
 		// algoFolderButton Action
 		algoFolderButton.addActionListener(new ActionListener() {
 
@@ -71,7 +70,7 @@ public class AlgorithmMenu extends JMenu {
 				fileChooser.setAcceptAllFileFilterUsed(false);
 
 				if (fileChooser.showOpenDialog(test) == JFileChooser.APPROVE_OPTION) {
-					//empty everything and reset the selected algorithm
+					// empty everything and reset the selected algorithm
 					controller.setAlgorithm(null);
 					mnSelectAlgorithm.removeAll();
 					mnSelectAlgorithm.add(noneItem);
@@ -93,7 +92,7 @@ public class AlgorithmMenu extends JMenu {
 							algosHash.put(name, files[i]);
 							JMenuItem tempItem = new JMenuItem(name);
 							tempItem.addActionListener(new ActionListener() {
-								
+
 								@Override
 								public void actionPerformed(ActionEvent e) {
 									for (int i = 0; i < mnSelectAlgorithm.getItemCount(); i++) {
@@ -130,6 +129,7 @@ public class AlgorithmMenu extends JMenu {
 	}
 
 	public void setAlgorithm(File file, String name) {
+		boolean missinConsole = false;
 		try {
 			BufferedReader br = new BufferedReader(new FileReader(file.getPath()));
 			String line = br.readLine();
@@ -154,6 +154,10 @@ public class AlgorithmMenu extends JMenu {
 			// Compile source file.
 			JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
 
+			if (ToolProvider.getSystemJavaCompiler() == null) {
+				missinConsole = true;
+			}
+
 			compiler.run(null, null, null, file.getPath());
 
 			// Load and instantiate compiled class.
@@ -171,7 +175,11 @@ public class AlgorithmMenu extends JMenu {
 			controller.setAlgorithm(t);
 
 		} catch (Exception e) {
-			controller.addTextToConsole(e.toString());
+			if (missinConsole) {
+				controller.addTextToConsole("missing Compiiler! Please install JDK");
+			} else {
+				controller.addTextToConsole(e.toString());
+			}
 		}
 	}
 }