📄 echoservermidlet.java
字号:
// EchoServerMIDlet.java// Andrew Davison, ad@fivedots.coe.psu.ac.th, August 2005 /* The MIDlet starts the echo server. It displays the current number of handlers, and a scrollable text box of messages that it has received. Pressing the "exit" command causes the server and its handlers to terminate.*/import javax.microedition.midlet.*;import javax.microedition.lcdui.*;public final class EchoServerMIDlet extends MIDlet implements CommandListener { private Display display; private Form form; private StringItem numHandlersSI, messageSI; private ScrollableMessagesBox scroller; private Command exitCmd; private EchoServer echoServer; // the top-level echo server private int numHandlers = 0; // number of threaded echo handlers public EchoServerMIDlet() { // build GUI form = new Form("Bluetooth Echo Server"); int width = form.getWidth(); int height = form.getHeight(); numHandlersSI = new StringItem("No. Handlers: ", "0"); form.append(numHandlersSI); int strHeight = numHandlersSI.getPreferredHeight(); // height of string item scroller = new ScrollableMessagesBox("Received Messages:", width, height-strHeight-20); // 20 is for the title and a bit of space form.append(scroller); exitCmd = new Command("Exit", Command.EXIT, 1); form.addCommand(exitCmd); form.setCommandListener(this); } // end of EchoServerMIDlet() protected void startApp() { display = Display.getDisplay(this); display.setCurrent(form); echoServer = new EchoServer(this); // create the echo server echoServer.start(); // start it listening for connections } // end of startApp() protected void destroyApp(boolean unconditional) { notifyDestroyed(); } protected void pauseApp() {} public void commandAction(Command c, Displayable d) { if (c == exitCmd) { echoServer.closeDown(); // close down the server (and its handlers) destroyApp(true); } } // -------------- methods called by the handlers ----------------- synchronized public void incrCount() // called when a new handler is created { numHandlers++; numHandlersSI.setText("" + numHandlers); } synchronized public void decrCount() // called when a handler is about to terminate { numHandlers--; numHandlersSI.setText("" + numHandlers); } synchronized public void showMessage(String msg) // used to show the message received by a handler { scroller.addMessage(msg); }} // end of EchoServerMIDlet class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -