Programación General > Java
S.O.S actualizar una label etiqueta
(1/1)
Froddo:
Hola amigos, les pido ayuda, ya que estoy algo perdido, les cuento:
necesito unir dos programas, estos estan corriendo bajo netbeans,los tengo en el mismo paquete,un programa se encarga de recibir datos y el otro es una ventanita que se encarga de mostrar los datos en la pantalla.
LO IMPORTANTE DEL PROGRAMA ESTA EN LA LINEA 93 Y 98
:programa que recibe los datos:
--- Código: Text ---package paqbascula; import java.io.*;import java.util.*;import javax.comm.*; public class Bascula implements Runnable, SerialPortEventListener {static String messageString = "P";static SerialPort serialPort;static OutputStream outputStream;static CommPortIdentifier portId;static Enumeration portList;static InputStream inputStream;static Thread readThread; public static void main(String[] args) {portList = CommPortIdentifier.getPortIdentifiers(); while (portList.hasMoreElements()) {portId = (CommPortIdentifier) portList.nextElement();if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) { //-------------------ciclo//-------------------escrituraif (portId.getName().equals("COM1")) {try {serialPort = (SerialPort)portId.open("BasculaApp", 2000);} catch (PortInUseException e) {}try {outputStream = serialPort.getOutputStream();} catch (IOException e) {}try {serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);} catch (UnsupportedCommOperationException e) {}try {outputStream.write(messageString.getBytes());} catch (IOException e) {}//---------------fin escritura//---------------parametros lecturaBascula reader = new Bascula();}}} } public Bascula() {try {serialPort = (SerialPort) portId.open("BasculaApp", 2000);} catch (PortInUseException e) {}try {inputStream = serialPort.getInputStream();} catch (IOException e) {}try {serialPort.addEventListener(this);} catch (TooManyListenersException e) {}serialPort.notifyOnDataAvailable(true);try {serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);} catch (UnsupportedCommOperationException e) {}readThread = new Thread(this);readThread.start();} public void run() {try {Thread.sleep(20000);} catch (InterruptedException e) {}} public void serialEvent(SerialPortEvent event) {switch(event.getEventType()) {case SerialPortEvent.BI:case SerialPortEvent.OE:case SerialPortEvent.FE:case SerialPortEvent.PE:case SerialPortEvent.CD:case SerialPortEvent.CTS:case SerialPortEvent.DSR:case SerialPortEvent.RI:case SerialPortEvent.OUTPUT_BUFFER_EMPTY:break;case SerialPortEvent.DATA_AVAILABLE:byte[] readBuffer = new byte[10]; try { // aca está la clave,es acá donde se guarda los datos recibidos, en int numBytes while (inputStream.available() > 0) {int numBytes = inputStream.read(readBuffer);//aca se debe colocar un comando que permita ingresar los datos que cambian constantemente en la etiqueta de la ventana } } catch (IOException e) {}break;}} }
Para la ventanita tengo este programa
la etiqueta donde va la variable a mostrar se encuentra en la linea 16
--- Código: Text ---paqbascula; import java.awt.*;import java.awt.event.*; public class NewClass { public static void main( String args[] ) { IHM ihm = new IHM(); } } class IHM { public IHM(){ // Instancia un objeto Label con una cadena para inicializarlo y // que aparezca como contenido en el momento de su creación Label miEtiqueta = new Label(la varible que se guarda en el programa anterior va acá, (en teoria es numBytes) ); // Coloca la eqtiqueta sobre el objeto Frame Frame miFrame = new Frame( "Ventana" ); miFrame.setLayout( new FlowLayout() ); miFrame.add( miEtiqueta ); miFrame.setSize( 250,150 ); miFrame.setVisible( true ); // Instancia y registra un objeto receptor de eventos de ventana // para concluir la ejecucion del programa cuando el Frame se // cierres por accion del usuario sobre el miFrame.addWindowListener( new Conclusion() ); } } class Conclusion extends WindowAdapter { public void windowClosing( WindowEvent evt ) { // Concluye el programa cuando se cierra la ventana System.exit(0); } } Por favor necesito ayuda estoy desesperado, no se como llamar de una clase a otra dentro del mismo paquete además de los detalles mencionados en el código.
Me despido y muchas gracias de antemano..
Salu2 :D :D :D
Navegación
Ir a la versión completa