2013-12-19 4 views
0

Единственное, что нужно изменить для последовательного порта для этого приложения, это имя/номер порта. JSSC может обновлять выпадающий как этотКак изменить порт JSSC с помощью combobox?

private void jComboBoxCommPortFocusGained(java.awt.event.FocusEvent evt) {            
    SetPortNames(); 
}            
private void SetPortNames() { 
    jComboBoxCommPort.removeAllItems(); 
    String[] portNames = SerialPortList.getPortNames(); 
    for (String portName : portNames) { 
     jComboBoxCommPort.addItem(portName); 
     System.out.println(portName); 
    } 
}            

Но ActionEvent

private void jComboBoxCommPortActionPerformed(java.awt.event.ActionEvent evt) {             
    InitializeSerialPort(jComboBoxCommPort.getSelectedItem().toString()); 
}             
private void InitializeSerialPort(String port) { 
    try { 
     if (serialPort.getPortName().contentEquals(port)) return; 
     if (serialPort.isOpened()) serialPort.closePort(); 
     serialPort = new SerialPort(port); 
     serialPort.openPort(); 
     serialPort.setParams(115200, 8, 1, 0); 
     serialPort.setEventsMask(SerialPort.MASK_RXCHAR + SerialPort.MASK_CTS); 
     serialPort.addEventListener(new SerialPortReader()); 
    } 
    catch (SerialPortException ex) { 
     System.out.println(ex); 
    } 
} 

ломает COMBOBOX и причины этого

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException 
    at stb.serialization.JFrameSerialization.jComboBoxCommPortActionPerformed(JFrameSerialization.java:157) 
    at stb.serialization.JFrameSerialization.access$300(JFrameSerialization.java:19) 
    ... 

Что такое правильный способ изменить последовательный порт JSSC ?

ответ

0

NullPointerException был вызван null jssc.SerialPort. Фиксированный путем замены

static SerialPort serialPort; 

с

static SerialPort serialPort = new SerialPort(""); 

 Смежные вопросы

  • Нет связанных вопросов^_^