📄 getcomportname.java
字号:
/*
* GetComPortName.java
* 获取手机中可以使用的串口端口号
* Created on 2005-12-5, 11:00
*/
import java.util.Vector;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
*
* @author Liu Bin
* @version
*/
public class GetComPortName extends MIDlet implements CommandListener{
private Form form = new Form("获取串口端口");
public void startApp() {
form.setCommandListener(this);
form.addCommand(new Command("获取", Command.SCREEN, 1)) ;
form.addCommand(new Command("退出", Command.EXIT, 1)) ;
Display.getDisplay(this).setCurrent(form);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
/**Handle command events*/
public void commandAction(Command command,
Displayable displayable) {
if (command.getLabel().equals("退出")) {
destroyApp(true);
notifyDestroyed();
} else if (command.getLabel().equals("获取")) {
//首先获取MIDP1.0的手机的端口号
Vector ports = getAvailableComPorts(1);
if (ports==null) {
ports = getAvailableComPorts(2);
}
if (ports != null) {
for (int i=0;i<ports.size();i++) {
form.append(ports.elementAt(i).toString()+"\n");
}
}
}
}
private Vector getAvailableComPorts(int ver) {
String propertyName=null;
Vector ports = null;
String portStr = null;
if (ver == 1) {
propertyName = "serialport.name";
} else if (ver == 2) {
propertyName = "microedition.commports";
} else {
form.append("无效的版本号");
}
try {
portStr = System.getProperty(propertyName);
System.out.println(portStr);
if (portStr != null) {
ports = new Vector();
int comma = portStr.indexOf(',');
while (comma > 0) {
//解析并显示端口列表
ports.addElement(portStr.substring(0, comma));
portStr = portStr.substring(comma+1);
comma = portStr.indexOf(',');
}
if (portStr != null) {
ports.addElement(portStr);
}
}
} catch (Exception e) {
System.out.println("当前手机不是MIDP " + String.valueOf(ver)+ ".0手机");
return null;
}
return ports;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -