📄 dialogselectcomm.java
字号:
package net.aetherial.gis.garmin;
import java.awt.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import java.util.*;
import javax.comm.CommPortIdentifier;
import java.awt.event.*;
import net.aetherial.gis.surface.*;
import java.io.*;
public class DialogSelectComm extends JDialog {
JPanel panel1 = new JPanel();
XYLayout xYLayout1 = new XYLayout();
JLabel jLabel1 = new JLabel();
JComboBox jComboBox1 = new JComboBox();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
public DialogSelectComm(Frame frame, String title, boolean modal) {
super(frame, title, modal);
try {
jbInit();
pack();
}
catch(Exception ex) {
ex.printStackTrace();
}
}
public DialogSelectComm() {
this(null, "", false);
}
public void getEnablePort() {
Enumeration e = CommPortIdentifier.getPortIdentifiers();
Vector v = new Vector();
CommPortIdentifier c = null;
while (e.hasMoreElements()) {
c = (CommPortIdentifier) e.nextElement();
if (c.getPortType() == CommPortIdentifier.PORT_SERIAL) {
this.jComboBox1.addItem(c.getName());
}
}
}
private void jbInit() throws Exception {
setPortEnable();
panel1.setLayout(xYLayout1);
jLabel1.setText("可用的端口:");
jButton1.setText("确定");
jButton1.addActionListener(new DialogSelectComm_jButton1_actionAdapter(this));
jComboBox1.addItemListener(new DialogSelectComm_jComboBox1_itemAdapter(this));
jButton2.setText("取消");
jButton2.addActionListener(new DialogSelectComm_jButton2_actionAdapter(this));
getContentPane().add(panel1, BorderLayout.CENTER);
panel1.add(jLabel1, new XYConstraints(28, 20, 69, 19));
panel1.add(jComboBox1, new XYConstraints(99, 19, 95, -1));
panel1.add(jButton1, new XYConstraints(75, 78, -1, -1));
panel1.add(jButton2, new XYConstraints(160, 78, 57, 25));
this.getEnablePort();
if(!(ItemValue.portCanUse.equals(""))){
this.jComboBox1.setSelectedItem(ItemValue.portCanUse);
}else if(ItemValue.comm!=null){
this.jComboBox1.setSelectedItem(ItemValue.comm[0]);
}
}
void jComboBox1_itemStateChanged(ItemEvent e) {
//ItemValue.portName = jComboBox1.getSelectedItem()+"";
}
void jButton1_actionPerformed(ActionEvent e) {
ItemValue.portCanUse = jComboBox1.getSelectedItem()+"";
ConsoleFrame.resetAll();
this.setPortToFile(ItemValue.portCanUse);
this.hide();
}
public static boolean setPortEnable(){
String CommTemp = ItemValue.getSavedComm();
//System.out.println("CommTemp"+CommTemp);
ItemValue.comm =ItemValue.getCommName();
if(ItemValue.comm !=null){
for (int i = 0; i < ItemValue.comm.length; i++) {
System.out.println("Search Serial Port:........"+ItemValue.comm[i]);
if (ItemValue.comm[i].equals(CommTemp)){
ItemValue.portCanUse = CommTemp;
return true;
}
}
if (ItemValue.portCanUse.equals("")){
ItemValue.portCanUse = ItemValue.comm[0];
return true;
}
}else{
ItemValue.portCanUse = "";
return false;
}
return false;
}
void setPortToFile(String port){
BufferedReader in = null;
BufferedWriter out = null;
String text = "",line = "";
StringTokenizer st = null;
String name = "";
try {
in = new BufferedReader(new InputStreamReader(new FileInputStream(
ConsoleConfig.cfgFile)));
while((line = in.readLine())!=null){
st = new StringTokenizer (line, "=");
name = st.nextToken ().trim ();
if(name.equals("Serial Port")){
text = text + "Serial Port = "+ port + "\r\n";
}else{
text = text + line +"\r\n";
}
}
FileOutputStream fos = new FileOutputStream(new File(ConsoleConfig.cfgFile));
fos.write(text.getBytes());
fos.flush();
}
catch (Exception ex) {
}
}
public void jButton2_actionPerformed(ActionEvent e) {
this.hide();
}
}
class DialogSelectComm_jButton2_actionAdapter
implements ActionListener {
private DialogSelectComm adaptee;
DialogSelectComm_jButton2_actionAdapter(DialogSelectComm adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton2_actionPerformed(e);
}
}
class DialogSelectComm_jComboBox1_itemAdapter implements java.awt.event.ItemListener {
DialogSelectComm adaptee;
DialogSelectComm_jComboBox1_itemAdapter(DialogSelectComm adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.jComboBox1_itemStateChanged(e);
}
}
class DialogSelectComm_jButton1_actionAdapter implements java.awt.event.ActionListener {
DialogSelectComm adaptee;
DialogSelectComm_jButton1_actionAdapter(DialogSelectComm adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -