?? clientform.java
字號(hào):
// ClientForm.java// Andrew Davison, ad@fivedots.coe.psu.ac.th, August 2005/* This class is the GUI in front of an EchoClient object which manages the sending and receiving of messages with the chosen echo service. A message is input via messageTF, and send to the service using EchoClient's echoMessage() method. This method _waits_ for an answer from the server. ClientForm shows the response in responseSI. If EchoClient detects an error when communicating with the server, it notifies the client by setting the statusSI field, and disabling any further input from ClientForm's messageTF field. It also writes the current status of the interaction into statusSI.*/import javax.microedition.lcdui.*;import javax.bluetooth.*;public class ClientForm extends Form implements CommandListener{ // GUI elements private Command sendCmd, exitCmd; private TextField messageTF; // message to send private StringItem statusSI, responseSI; // for info coming from the server private EchoClient echoClient; // handles the bluetooth communication with the server private Display display; private EchoClientMIDlet ecm; public ClientForm(ServiceRecord sr, EchoClientMIDlet ecm, Display d) { super("Bluetooth Echo Client"); this.ecm = ecm; display = d; // GUI sendCmd = new Command("Send", Command.SCREEN, 2); exitCmd = new Command("Exit", Command.EXIT, 1); addCommand(exitCmd); messageTF = new TextField("Enter message here: ", "", 25, TextField.ANY | TextField.UNEDITABLE); // will change to editable later responseSI = new StringItem("Response: ", ""); statusSI = new StringItem("Status: ", "Starting..."); append(messageTF); append(responseSI); append(statusSI); setCommandListener(this); echoClient = new EchoClient(sr, this); echoClient.start(); // connect to the server } // end of ClientForm() public void commandAction(Command c, Displayable d) { if (c == exitCmd) { echoClient.closeDown(); ecm.destroyApp(true); } else if (c == sendCmd) { String resp = echoClient.echoMessage( messageTF.getString() ); /* Pass the input message to EchoClient, and _wait_ for a reply. The answer can be an error message. */ responseSI.setText(resp); // show the response // messageTF.setString(""); } } // end of commandAction() // ------- called from EchoClient -------------------------- public void setStatus(String msg) // report the status of the server connection { statusSI.setText(msg); } public void setEnable(boolean isEnabled) /* Enable/disable the message text field. The text field is disabled when the server is unable to process any messages e.g. when the server link has broken. */ { if (isEnabled) { messageTF.setConstraints(TextField.ANY); addCommand(sendCmd); } else { // disable the text field messageTF.setConstraints(TextField.ANY | TextField.UNEDITABLE); removeCommand(sendCmd); } }} // end fo ClientForm class
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -