|
What this is
Other links
The source code
/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License Version
* 1.0 (the "License"). You may not use this file except in compliance
* with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is Terminal Emulator.
* The Initial Developer of the Original Code is Sun Microsystems, Inc..
* Portions created by Sun Microsystems, Inc. are Copyright (C) 2001.
* All Rights Reserved.
*
* Contributor(s): Ivan Soleimanipour.
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import de.mud.telnet.*;
import org.netbeans.lib.terminalemulator.*;
public class TelnetApp extends JFrame {
TermInputListener input_listener;
Term term;
TelnetWrapper tio;
/*
* Override de.mud.telnet.TelnetWrapper so we can specialize
* the terminal type.
*/
static class MyTelnetWrapper extends TelnetWrapper {
private String terminalType;
MyTelnetWrapper(String terminalType) {
this.terminalType = terminalType;
}
public String getTerminalType() {
return terminalType;
}
}
TelnetApp(Font font) {
super("TelnetApp");
input_listener = new TermInputListener() {
public void sendChar(char c) {
// System.out.println(c);
final char tmp[]= new char[1];
tmp[0] = c;
String s = new String(tmp);
try {
tio.write(s.getBytes());
} catch (Exception x) {
x.printStackTrace();
}
}
public void sendChars(char[] c, int offset, int count) {
// System.out.println(c);
String s = new String(c, offset, count);
try {
tio.write(s.getBytes());
} catch (Exception x) {
x.printStackTrace();
}
}
};
term = new Term();
term.addInputListener(input_listener);
term.setEmulation("ansi");
term.setBackground(Color.white);
term.setClickToType(false);
term.setHighlightColor(Color.orange);
term.setWordDelineator(new WordDelineator() {
public int charClass(char c) {
if (Character.isJavaIdentifierPart(c))
return 1;
else
return 0;
}
} );
}
public String terminalType() {
return term.getEmulation();
}
private void setup_gui() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
setContentPane(term);
pack();
}
private void setup_telnet(String host, String terminalType) {
tio = new MyTelnetWrapper(terminalType);
try {
System.out.println("connecting to '" + host + "' ...");
tio.connect(host, 23);
} catch (Exception x) {
x.printStackTrace();
}
}
private void run() {
byte[] buf = new byte[512];
int count;
while (true) {
try {
count = tio.read(buf);
} catch (Exception x) {
x.printStackTrace();
break;
}
if (count == -1)
break;
String s = new String(buf, 0, count);
char[] tmp = new char[s.length()];
s.getChars(0, s.length(), tmp, 0);
term.putChars(tmp, 0, s.length());
}
System.exit(0);
}
private static void usage(String msg) {
System.out.println(msg);
System.out.println("usage: TelnetApp [
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.