diff --git a/src/main/java/info/istlab/ServerTester/JTAConsole.java b/src/main/java/info/istlab/ServerTester/JTAConsole.java index ad6ce06..d1beefc 100644 --- a/src/main/java/info/istlab/ServerTester/JTAConsole.java +++ b/src/main/java/info/istlab/ServerTester/JTAConsole.java @@ -19,17 +19,18 @@ import java.util.Stack; import javax.swing.JFrame; -import javax.swing.JScrollPane; import javax.swing.SwingUtilities; import javax.swing.text.BadLocationException; +import org.fife.ui.rtextarea.RTextScrollPane; + public class JTAConsole extends MyRSJTextArea implements Runnable, WindowListener, KeyListener, MouseListener { // static JTAConsole lastWindow; // static Point lastActivePoint; static Stack winStack = new Stack(); JFrame frame; - JScrollPane scrollpane; + RTextScrollPane scrollpane; Process process; Thread thread; InputStream instream; @@ -46,7 +47,7 @@ public JTAConsole(String title, int win_height) { frame = new JFrame(title); - frame.getContentPane().add(scrollpane = new JScrollPane(this)); + frame.getContentPane().add(scrollpane = new RTextScrollPane(this)); frame.setSize(500, win_height); frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); frame.addWindowListener(this); @@ -155,23 +156,18 @@ @Override public void windowClosing(WindowEvent e) { - setText(""); destroyProcess(); - scrollpane.removeAll(); - frame.getContentPane().removeAll(); winStack.remove(this); - if (!process.isAlive()) { - // Launcher.allProcs.remove(process); - } - SwingUtilities.invokeLater(() -> { - // frame.setVisible(false); // 表示を遅らせないと、RSJTextAreaでエラーが出る - frame.dispose(); - }); + // if (!process.isAlive()) { + // // Launcher.allProcs.remove(process); + // } + frame.setVisible(false); } @Override public void windowClosed(WindowEvent e) { + frame.dispose(); } @Override