15/11/2006, 10:34
|
| | Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 20 años, 1 mes Puntos: 0 | |
Bueno finalmente lo solucioné, cuadno pueda posteo el codigo
Programa.java (Archivo principal)
Código:
import javax.swing.*;
import java.awt.FlowLayout;
import java.awt.event.*;
import java.util.*;
public class Programa extends JApplet implements SerialReaderListener
{ private ArrayList puertos;
private com controlCom;
private String PUERTO_SELECCIONADO;
char XON=(char)17;
char XOFF=(char)19;
char LF=(char)10;
char CR=(char)13;
//GUI
private JComboBox puertosCombo;
private JPanel contenido;
private JButton imprimirBtn;
private JLabel informacionLbl;
private JTextArea comandos;
private JLabel respuestaLbl;
//Constructor
//Programa()
public void init()
{ //Creamos el panel de contenido
contenido = new JPanel();
contenido.setLayout(new FlowLayout());
//Creamos el objeto puerto
controlCom=new com(this);
puertos=controlCom.listarPuertos();
buildGUI();
}
private void buildGUI()
{ //Añadimos un label
JLabel caption_1Lbl = new JLabel("Selecciona el puerto:");
contenido.add(caption_1Lbl);
//Generamos y añadimos el comboBox
buildCombo();
imprimirBtn = new JButton("Imprimir etiqueta.");
imprimirBtn.addActionListener(new pulsaImprimir());
imprimirBtn.setEnabled(false);
contenido.add(imprimirBtn);
informacionLbl = new JLabel("", JLabel.RIGHT);
contenido.add(informacionLbl);
//Textarea para las pruebas
comandos = new JTextArea(3, 10);
comandos.setBorder(BorderFactory.createEmptyBorder(2,2,2,2));
JButton comandoBtn= new JButton("Ejecutar comando.");
comandoBtn.addActionListener(new pulsaComando());
contenido.add(comandos);
contenido.add(comandoBtn);
respuestaLbl = new JLabel("");
contenido.add(respuestaLbl);
//Conf window
setContentPane(contenido);
//pack();
//setTitle("Impresión etiquetas");
//setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300,200);
//setLocationRelativeTo(null); //Centrar ventana
}
//Generamos el combo que contiene la lista de puertos serie
private void buildCombo()
{ puertosCombo = new JComboBox();
int tamanyo=puertos.size();
for(int i=0; i < tamanyo; i++)
{ puertosCombo.addItem( (String) puertos.get(i) );
}
puertosCombo.setSelectedIndex(-1);
puertosCombo.addActionListener(new itemStateChange());
contenido.add(puertosCombo);
}
//Inner class para el listener del JComboBox
class itemStateChange implements ActionListener
{ Object comodin;
public void actionPerformed(ActionEvent e)
{ PUERTO_SELECCIONADO=(String)puertosCombo.getSelectedItem();
System.out.println( PUERTO_SELECCIONADO );
controlCom.cerrarPuerto();
comodin=controlCom.abrirPuerto(PUERTO_SELECCIONADO);
String cadena=LF+
"jF"+LF+
"US"+LF+
"eR,2,Q"+LF+
"Q801,32"+LF+
"q801"+LF+
"S2"+LF+
"D8"+LF+
"ZB"+LF;
controlCom.send(cadena);
if(!comodin.equals("1"))
{ JOptionPane.showMessageDialog(null,"Error:\n"+(String)comodin);
puertosCombo.setSelectedIndex(-1);
}
}
}
//Imprimir etiqueta
class pulsaImprimir implements ActionListener
{
public void actionPerformed(ActionEvent e)
{ imprimirBtn.setEnabled(false);
String cadena=LF+
"N"+LF+
"X0,0,4,60,100"+LF+
"LO0,50,50,4"+LF+
"LO40,100,4,100"+LF+
"A40,100,1,1,1,1,N,\"MADE IN YEAH\""+LF+
"B50,60,0,1,2,3,96,B,\"S 000001\""+LF+
"P1"+LF;
controlCom.send(cadena);
informacionLbl.setText("Imprimiendo...");
}
}
class pulsaComando implements ActionListener
{ char XON=(char)17;
char XOFF=(char)19;
char LF=(char)10;
char CR=(char)13;
public void actionPerformed(ActionEvent e)
{ String valor=LF+comandos.getText()+LF;
controlCom.send(valor);
}
}
public static void main(String[] args)
{ Programa app= new Programa();
app.setVisible(true);
}
//Acciones a realizar al llegar datos
public void newData(byte[] data)
{ String mensaje=new String(data).trim();
respuestaLbl.setText(mensaje);
[.....]
}
}
Última edición por clinisbut; 16/11/2006 a las 01:53 |