diff --git a/src/main/java/istlab/KisoJikken/JExecutor.java b/src/main/java/istlab/KisoJikken/JExecutor.java index 14921ec..089dbc5 100644 --- a/src/main/java/istlab/KisoJikken/JExecutor.java +++ b/src/main/java/istlab/KisoJikken/JExecutor.java @@ -67,7 +67,7 @@ e1.printStackTrace(); } - con.Systemoutprintln("== 実行終了 =="); + con.Systemoutprintln("== 実行終了 == (ALT+Wで閉じる)"); thread = null; } } diff --git a/src/main/java/istlab/KisoJikken/JTAConsole.java b/src/main/java/istlab/KisoJikken/JTAConsole.java index 2966834..0f44aa7 100644 --- a/src/main/java/istlab/KisoJikken/JTAConsole.java +++ b/src/main/java/istlab/KisoJikken/JTAConsole.java @@ -99,11 +99,11 @@ } process.waitFor(); - } catch (IOException e) { - e.printStackTrace(); - } catch (InterruptedException e) { - e.printStackTrace(); - } + } catch (IOException | InterruptedException e) { + // e.printStackTrace(); + System.out.print(e.getClass().getCanonicalName()+" : "); + System.out.println(e.getLocalizedMessage()); + } Systemoutprintln("=== end ==="); @@ -143,8 +143,7 @@ } - @Override - public void windowClosing(WindowEvent e) { + private void destroyProcess() { try { if (outstream != null) outstream.close(); @@ -154,6 +153,12 @@ e1.printStackTrace(); } process.destroyForcibly(); + } + + @Override + public void windowClosing(WindowEvent e) { + destroyProcess(); + winStack.remove(this); setVisible(false); if (!process.isAlive()) { @@ -214,7 +219,11 @@ } if (e.isControlDown() || e.isAltDown() || e.isAltGraphDown() || e.isMetaDown()) { - if (e.getKeyCode() == 67 || e.getKeyCode() == 68 || e.getKeyCode() == 87) { // CTRL+C or CTRL+D or Alt-W + if (e.getKeyCode() == 67) { + // プロセスのみ終了 + destroyProcess(); + } + if (e.getKeyCode() == 68 || e.getKeyCode() == 87) { // CTRL+C or CTRL+D or Alt-W windowClosing(null); frame.dispose(); } @@ -245,33 +254,33 @@ @Override public void mouseClicked(MouseEvent e) { - if (e.getButton()==MouseEvent.BUTTON3){ + if (e.getButton() == MouseEvent.BUTTON3) { JTAConsolePopup popupMenu = new JTAConsolePopup(this); - popupMenu.show(this,e.getX(),e.getY()); + popupMenu.show(this, e.getX(), e.getY()); } } @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub - + } @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub - + } @Override public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub - + } @Override public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub - + } } diff --git a/src/main/java/istlab/KisoJikken/ScriptRunner.java b/src/main/java/istlab/KisoJikken/ScriptRunner.java index 354d77f..8cad503 100644 --- a/src/main/java/istlab/KisoJikken/ScriptRunner.java +++ b/src/main/java/istlab/KisoJikken/ScriptRunner.java @@ -57,7 +57,7 @@ } catch (IOException | InterruptedException e1) { e1.printStackTrace(); } - con.Systemoutprintln("== 終了 =="); + con.Systemoutprintln("== 終了 == (ALT+Wで閉じる)"); thread = null; runB.setText("Run"); }