public synchronized void postUpdateUI() { // this attempts to cleanup the damage done by updateComponentTreeUI requestFocus(); setCaret(getCaret()); select(outputMark, outputMark); }
public void keyTyped(KeyEvent e) { int keyChar = e.getKeyChar(); if(keyChar == 0x8 /* KeyEvent.VK_BACK_SPACE */) { if(outputMark == getCaretPosition()) { e.consume(); } } else if(getCaretPosition() < outputMark) { setCaretPosition(outputMark); } }
public void keyPressed(KeyEvent e) { int code = e.getKeyCode(); if(code == KeyEvent.VK_BACK_SPACE || code == KeyEvent.VK_LEFT) { if(outputMark == getCaretPosition()) { e.consume(); int caretPos = getCaretPosition(); if(caretPos == outputMark) { e.consume(); if(!e.isControlDown()) { if(e.isShiftDown()) { moveCaretPosition(outputMark); } else { setCaretPosition(outputMark); returnPressed(); e.consume(); } else if(code == KeyEvent.VK_UP) { int len = getDocument().getLength(); replaceRange(str, outputMark, len); int caretPos = outputMark + str.length(); select(caretPos, caretPos); } else { historyIndex++; historyIndex++; if(historyIndex < 0) {historyIndex = 0;} int len = getDocument().getLength();
menubar.add(plafMenu); setJMenuBar(menubar); consoleTextArea = new ConsoleTextArea(args); JScrollPane scroller = new JScrollPane(consoleTextArea); setContentPane(scroller); consoleTextArea.setRows(24); consoleTextArea.setColumns(80); addWindowListener(new WindowAdapter() { @Override Main.setIn(consoleTextArea.getIn()); Main.setOut(consoleTextArea.getOut()); Main.setErr(consoleTextArea.getErr()); Main.main(args);
if(f != null) { f = f.replace('\\', '/'); consoleTextArea.eval("load(\"" + f + "\");"); consoleTextArea.cut(); } else if(cmd.equals("Copy")) { consoleTextArea.copy(); } else if(cmd.equals("Paste")) { consoleTextArea.paste(); } else { if(cmd.equals("Metal")) { UIManager.setLookAndFeel(plaf_name); SwingUtilities.updateComponentTreeUI(this); consoleTextArea.postUpdateUI();
public ConsoleTextArea(String[] argv) { super(); history = new java.util.ArrayList<String>(); console1 = new ConsoleWriter(this); console2 = new ConsoleWriter(this); out = new PrintStream(console1, true); err = new PrintStream(console2, true); PipedOutputStream outPipe = new PipedOutputStream(); inPipe = new PrintWriter(outPipe); in = new PipedInputStream(); try { outPipe.connect(in); } catch(IOException exc) { exc.printStackTrace(); } getDocument().addDocumentListener(this); addKeyListener(this); setLineWrap(true); setFont(new Font("Monospaced", 0, 12)); }
/** * Creates a new JSInternalConsole. */ public JSInternalConsole(String name) { super(name, true, false, true, true); consoleTextArea = new ConsoleTextArea(null); consoleTextArea.setRows(24); consoleTextArea.setColumns(80); JScrollPane scroller = new JScrollPane(consoleTextArea); setContentPane(scroller); pack(); addInternalFrameListener(new InternalFrameAdapter() { @Override public void internalFrameActivated(InternalFrameEvent e) { // hack if (consoleTextArea.hasFocus()) { consoleTextArea.getCaret().setVisible(false); consoleTextArea.getCaret().setVisible(true); } } }); }
synchronized void returnPressed() { Document doc = getDocument(); int len = doc.getLength(); Segment segment = new Segment(); try { doc.getText(outputMark, len - outputMark, segment); } catch(javax.swing.text.BadLocationException ignored) { ignored.printStackTrace(); } if(segment.count > 0) { history.add(segment.toString()); } historyIndex = history.size(); inPipe.write(segment.array, segment.offset, segment.count); append("\n"); outputMark = doc.getLength(); inPipe.write("\n"); inPipe.flush(); console1.flush(); }
/** * Returns the error stream of the console text area. */ public PrintStream getErr() { return consoleTextArea.getErr(); }
public void keyPressed(KeyEvent e) { int code = e.getKeyCode(); if(code == KeyEvent.VK_BACK_SPACE || code == KeyEvent.VK_LEFT) { if(outputMark == getCaretPosition()) { e.consume(); int caretPos = getCaretPosition(); if(caretPos == outputMark) { e.consume(); if(!e.isControlDown()) { if(e.isShiftDown()) { moveCaretPosition(outputMark); } else { setCaretPosition(outputMark); returnPressed(); e.consume(); } else if(code == KeyEvent.VK_UP) { int len = getDocument().getLength(); replaceRange(str, outputMark, len); int caretPos = outputMark + str.length(); select(caretPos, caretPos); } else { historyIndex++; historyIndex++; if(historyIndex < 0) {historyIndex = 0;} int len = getDocument().getLength();
menubar.add(plafMenu); setJMenuBar(menubar); consoleTextArea = new ConsoleTextArea(args); JScrollPane scroller = new JScrollPane(consoleTextArea); setContentPane(scroller); consoleTextArea.setRows(24); consoleTextArea.setColumns(80); addWindowListener(new WindowAdapter() { @Override Main.setIn(consoleTextArea.getIn()); Main.setOut(consoleTextArea.getOut()); Main.setErr(consoleTextArea.getErr()); Main.main(args);
if(f != null) { f = f.replace('\\', '/'); consoleTextArea.eval("load(\"" + f + "\");"); consoleTextArea.cut(); } else if(cmd.equals("Copy")) { consoleTextArea.copy(); } else if(cmd.equals("Paste")) { consoleTextArea.paste(); } else { if(cmd.equals("Metal")) { UIManager.setLookAndFeel(plaf_name); SwingUtilities.updateComponentTreeUI(this); consoleTextArea.postUpdateUI();
public ConsoleTextArea(String[] argv) { super(); history = new java.util.ArrayList<String>(); console1 = new ConsoleWriter(this); console2 = new ConsoleWriter(this); out = new PrintStream(console1, true); err = new PrintStream(console2, true); PipedOutputStream outPipe = new PipedOutputStream(); inPipe = new PrintWriter(outPipe); in = new PipedInputStream(); try { outPipe.connect(in); } catch(IOException exc) { exc.printStackTrace(); } getDocument().addDocumentListener(this); addKeyListener(this); setLineWrap(true); setFont(new Font("Monospaced", 0, 12)); }
/** * Creates a new JSInternalConsole. */ public JSInternalConsole(String name) { super(name, true, false, true, true); consoleTextArea = new ConsoleTextArea(null); consoleTextArea.setRows(24); consoleTextArea.setColumns(80); JScrollPane scroller = new JScrollPane(consoleTextArea); setContentPane(scroller); pack(); addInternalFrameListener(new InternalFrameAdapter() { @Override public void internalFrameActivated(InternalFrameEvent e) { // hack if (consoleTextArea.hasFocus()) { consoleTextArea.getCaret().setVisible(false); consoleTextArea.getCaret().setVisible(true); } } }); }
synchronized void returnPressed() { Document doc = getDocument(); int len = doc.getLength(); Segment segment = new Segment(); try { doc.getText(outputMark, len - outputMark, segment); } catch(javax.swing.text.BadLocationException ignored) { ignored.printStackTrace(); } if(segment.count > 0) { history.add(segment.toString()); } historyIndex = history.size(); inPipe.write(segment.array, segment.offset, segment.count); append("\n"); outputMark = doc.getLength(); inPipe.write("\n"); inPipe.flush(); console1.flush(); }
/** * Returns the error stream of the console text area. */ public PrintStream getErr() { return consoleTextArea.getErr(); }
public void keyPressed(KeyEvent e) { int code = e.getKeyCode(); if(code == KeyEvent.VK_BACK_SPACE || code == KeyEvent.VK_LEFT) { if(outputMark == getCaretPosition()) { e.consume(); int caretPos = getCaretPosition(); if(caretPos == outputMark) { e.consume(); if(!e.isControlDown()) { if(e.isShiftDown()) { moveCaretPosition(outputMark); } else { setCaretPosition(outputMark); returnPressed(); e.consume(); } else if(code == KeyEvent.VK_UP) { int len = getDocument().getLength(); replaceRange(str, outputMark, len); int caretPos = outputMark + str.length(); select(caretPos, caretPos); } else { historyIndex++; historyIndex++; if(historyIndex < 0) {historyIndex = 0;} int len = getDocument().getLength();