1 package edu.berkeley.fleet;
3 import de.mud.telnet.*;
4 import de.mud.telnet.modules.*;
5 import de.mud.telnet.display.*;
7 import java.awt.event.*;
9 import javax.swing.event.*;
10 import javax.swing.table.*;
11 import javax.swing.border.*;
15 public class Term extends vt320 implements ComponentListener {
16 private final InputStream is;
17 private final OutputStream os;
19 public Term(InputStream is, OutputStream os) { this.is = is; this.os = os; addComponentListener(this); }
21 public void componentResized(ComponentEvent e) { repaint(); }
22 public void componentMoved(ComponentEvent e) { }
23 public void componentHidden(ComponentEvent e) { }
24 public void componentShown(ComponentEvent e) { }
26 private class ListenerThread extends Thread {
29 byte[] buf = new byte[1024];
31 int numread = is.read(buf, 0, buf.length);
32 if (numread==-1) break;
33 if (numread==0) continue;
34 Term.this.putString(new String(buf, 0, numread, "US-ASCII"));
36 } catch (Exception e) {
41 boolean listenerStarted = false;
42 public void paint(Graphics g) {
43 if (!listenerStarted) { listenerStarted = true; new ListenerThread().start(); }
46 public synchronized void putString(String s) { super.putString(s); }
47 public synchronized boolean send(String s) {
49 os.write(s.getBytes("US-ASCII"));
52 } catch (Exception e) {