?? chatboard.java
字號:
/* * Java Network Programming, Second Edition * Merlin Hughes, Michael Shoffner, Derek Hamner * Manning Publications Company; ISBN 188477749X * * http://nitric.com/jnp/ * * Copyright (c) 1997-1999 Merlin Hughes, Michael Shoffner, Derek Hamner; * all rights reserved; see license.txt for details. */import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class Chatboard extends Panel implements Runnable, ActionListener {
protected TextArea output;
protected TextField input;
protected Queue queue;
protected Thread listener;
public Chatboard () {
setLayout (new BorderLayout ());
add ("Center", output = new TextArea ());
output.setEditable (false);
add ("South", input = new TextField ());
input.addActionListener (this);
queue = new Queue ();
listener = new Thread (this);
listener.start ();
}
public Dimension getPreferredSize () {
return new Dimension (200, 150);
}
protected MessageOutput messageOut;
public void setMessageOutput (MessageOutput messageOut) {
this.messageOut = messageOut;
}
public MessageOutput getMessageOutput () {
return new QueueOutputStream (queue);
}
public void actionPerformed (ActionEvent event) {
try {
messageOut.writeUTF (input.getText ());
messageOut.send ();
output.append (input.getText () + "\n");
input.setText ("");
} catch (IOException ignored) {
}
}
public void run () {
QueueInputStream queueIn = new QueueInputStream (queue);
try {
while (!Thread.interrupted ()) {
queueIn.receive ();
String msg = queueIn.readUTF ();
output.append ("-- " + msg + "\n");
}
} catch (IOException ignored) {
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -