Oi pessoal,
Eu tenho essa applet que faz interação direta com minha porta paralela, mas quando inicio sua página, a applet nem é iniciada. o erro é: “applet notinitied”
Mas quando coloco esse mesmo código em um programa normal (sem ser uma applet) ele acessa a porta sem problemas e imprime normalmente como deveria. O que pode ser?
Código:
package applets;
import gnu.io.CommPortIdentifier;
import gnu.io.NoSuchPortException;
import gnu.io.ParallelPort;
import gnu.io.PortInUseException;
import java.io.IOException;
import java.io.OutputStream;
import sun.io.CharToByteUnicode;
import java.applet.Applet;
@SuppressWarnings("serial")
public class PrintApplet extends Applet {
private static OutputStream outputStream;;
private static ParallelPort portaParalela;
private static CommPortIdentifier port;
private String msg;
private String printerCodes;
// CONSTANTS
public static final String PORTA_PARALELA = "LPT1";
public void init(){
msg = "";
printerCodes = null;
}
public void addPrinterCodes(String printerCodes){
this.printerCodes += printerCodes+"\n";
}
@SuppressWarnings("deprecation")
public void sendPrinterCodes(){
try {
// get the parallel port connected to the printer
port = CommPortIdentifier.getPortIdentifier(PORTA_PARALELA);
System.out.println("port.name = " + port.getName());
// open the parallel port -- open(App name, timeout)
portaParalela = (ParallelPort) port.open("CommTest", 50);
outputStream = portaParalela.getOutputStream();
char[] charArray = printerCodes.toCharArray();
byte[] byteArray = CharToByteUnicode.getConverter("UTF8").convertAll(charArray);
System.out.println("Impressão: "+printerCodes);
System.out.println("Escreve...");
outputStream.write(byteArray);
System.out.println(outputStream.toString());
System.out.println("Limpa...");
outputStream.flush();
System.out.println("Fecha...");
outputStream.close();
} catch (NoSuchPortException e) {
msg += "\nPorta de impressão LPT1 não encontrada : "
+ "NoSuchPortException.\nException:\n" + e;
} catch (PortInUseException e) {
msg += "\nPorta de impressão LPT1 em uso : "
+ "PortInUseException.\nException:\n" + e;
} catch (IOException e) {
msg += "\nPorta de impressão LPT1 falhou na impressão : "
+ "IOException.\nException:\n" + e;
} catch (Exception e) {
msg += "\nFalha ao abrir Porta de impressão LPT1. Erro : "+ e;
} finally {
if (port != null && port.isCurrentlyOwned()) {
portaParalela.close();
}
msg += "\n\nAcesso ao hardware terminado.\n";
}
}
public String getPrinterCodes(){
return printerCodes;
}
public String getMsgs(){
return msg;
}
}