Amigos
ainda continuo com problemas para instanciar no padrão singleton:
o seguinte tenho duas classes:
SerialConection
SerialParameters
segue abaixo o construtor de ambas:
public class SerialParameters {
private String portName;
private int baudRate;
private int flowControlIn;
private int flowControlOut;
private int databits;
private int stopbits;
private int parity;
private static SerialParameters parameters;
/**
Default constructer. Sets parameters to no port, 9600 baud, no flow
control, 8 data bits, 1 stop bit, no parity.
*/
public SerialParameters () {
this("",
9600,
SerialPort.FLOWCONTROL_NONE,
SerialPort.FLOWCONTROL_NONE,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE );
}
public SerialConnection(//SerialDemo parent,
SerialParameters parameters){
this.parameters = parameters;
}
então eu fiz assim na classe Serial connection:
public synchronized static SerialConnection getInstance(){
if(serialconnection == null) {
serialconnection = new SerialConnection(parameters);
System.out.println("criando instancia serial"); // debug
}
return serialconnection;
}
na Serial Parameters:
public synchronized static SerialParameters getInstance2(){
if(parameters == null) parameters = new SerialParameters();
return parameters;
}
então na terceira classe chamei elas assim:
public class NewJframe extends javax.swing.JFrame {
private SerialParameters parameters;
private SerialConnection connection;
/** Creates new form NewJframe */
public NewJframe() {
initComponents();
parameters = SerialParameters.getInstance2();
connection = SerialConnection.getInstance();
então ele dá esse erro:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at serialjava.SerialConnection.openConnection(SerialConnection.java:119)
linha 119
portId = CommPortIdentifier.getPortIdentifier(parameters.getPortName());
se alguem puder ajudar…
sds
j.silvestre