2013-12-19 2 views
0

이 응용 프로그램의 직렬 포트에서 변경해야하는 유일한 것은 포트 이름/번호입니다. JSSC는콤보 상자를 사용하여 JSSC 포트를 변경하는 방법은 무엇입니까?

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); 
    } 
} 

휴식 콤보 상자를이

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를 업데이트 할 수이며, JSSC 시리얼 포트를 변경하는 올바른 방법을 무엇이

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) 
    ... 

원인 ?

답변

0

null이 jssc.SerialPort에 의해 NullPointerException이 발생했습니다.

static SerialPort serialPort = new SerialPort(""); 
으로

static SerialPort serialPort; 

대체함으로써 수정