Foros del Web » Programación para mayores de 30 ;) » Java »

SetText JavaFX no funciona

Estas en el tema de SetText JavaFX no funciona en el foro de Java en Foros del Web. Buenas, Tengo cuatro archivos, en un proyecto de JavaFX FXML. El problema es que quiero hacer un settext pero me dice que la variable del ...
  #1 (permalink)  
Antiguo 26/03/2014, 14:53
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 12 años, 10 meses
Puntos: 5
SetText JavaFX no funciona

Buenas,

Tengo cuatro archivos, en un proyecto de JavaFX FXML. El problema es que quiero hacer un settext pero me dice que la variable del TextField es null. El código es el siguiente.

FXMLDocumentController:

Código:
public class FXMLDocumentController implements Initializable {
 * *
 * * * *@FXML
 * * * *private TextField carlos;
 * * * *RXTX main = new RXTX();
 * * * *
 * * * *@FXML
 * *private void handleButtonAction(ActionEvent event) {
 * * * *
 * *}
 * * * *
 * *
 * *
 * * * *@Override
 * * * *public void initialize(URL url, ResourceBundle rb) {
 * *		main.initialize();
 * *		Thread t = new Thread() {
 * * * * * * * *public void run() {
 * * * * * * * * * *
 * * * * * * * * * *//the following line will keep this app alive for 1000 seconds,
 * * * * * * * * * *//waiting for events to occur and responding to them (printing incoming messages to console).
 * * * * * * * * * *try {Thread.sleep(1000000);} catch (InterruptedException ie) {}
 * * * * * * * *}
 * * * * * *};
 * *		t.start();
 * *		System.out.println("Started");
 * * * *} * *
 * * * *
}
El RXTX, donde se ejecuta el settext(está al final) y donde funciona el thread anterior:

Código:
public class RXTX implements SerialPortEventListener{

 * *@FXML private TextField carlos;
 * *
 * *private String Temperature;
 * *
 * * * *SerialPort serialPort;
 * * * */** The port we're normally going to use. */
	private static final String PORT_NAMES[] = { 
			"COM5" // Windows
	};
	/**
	* A BufferedReader which will be fed by a InputStreamReader 
	* converting the bytes into characters 
	* making the displayed results codepage independent
	*/
	private BufferedReader input;
	/** The output stream to the port */
	private OutputStream output;
	/** Milliseconds to block while waiting for port open */
	private static final int TIME_OUT = 2000;
	/** Default bits per second for COM port. */
	private static final int DATA_RATE = 57600;

	public void initialize() {
		CommPortIdentifier portId = null;
		Enumeration portEnum = CommPortIdentifier.getPortIdentifiers();

		//First, Find an instance of serial port as set in PORT_NAMES.
		while (portEnum.hasMoreElements()) {
			CommPortIdentifier currPortId = (CommPortIdentifier) portEnum.nextElement();
			for (String portName : PORT_NAMES) {
				if (currPortId.getName().equals(portName)) {
					portId = currPortId;
					break;
				}
			}
		}
		if (portId == null) {
			System.out.println("Could not find COM port.");
			return;
		}

		try {
			// open serial port, and use class name for the appName.
			serialPort = (SerialPort) portId.open(this.getClass().getName(),
					TIME_OUT);

			// set port parameters
			serialPort.setSerialPortParams(DATA_RATE,
					SerialPort.DATABITS_8,
					SerialPort.STOPBITS_1,
					SerialPort.PARITY_NONE);

			// open the streams
			input = new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
			output = serialPort.getOutputStream();

			// add event listeners
			serialPort.addEventListener(this);
			serialPort.notifyOnDataAvailable(true);
		} catch (Exception e) {
			System.err.println(e.toString());
		}
	}

	/**
	 * This should be called when you stop using the port.
	 * This will prevent port locking on platforms like Linux.
	 */
	public synchronized void close() {
		if (serialPort != null) {
			serialPort.removeEventListener();
			serialPort.close();
		}
	}

	/**
	 * Handle an event on the serial port. Read the data and print it.
	 */
	public synchronized void serialEvent(SerialPortEvent oEvent) {
		if (oEvent.getEventType() == SerialPortEvent.DATA_AVAILABLE) {
			try {
				String inputLine=input.readLine();
				System.out.println(inputLine);
 * * * * * * * * * * * * * * * *GetData(inputLine);
			} catch (Exception e) {
				System.err.println(e.toString());
			}
		}
		// Ignore all the other eventTypes, but you should consider the other ones.
	}

 * * * *@FXML
	private void GetData(String Data) {
 * * * * * *
 * * * * * *if(Data.contains("Temperature")){
 * * * * * * * *carlos.setText("Test"); * 
 * * * * * *}
 * * * * * *
 * * * *}
}
Y aquí tienes el principal archivo java:

Código:
public class OPilot extends Application {
 * *
 * *@Override
 * *public void start(Stage stage) throws Exception {
 * * 
 * * * * * * * *
 * * * *Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
 * * * *
 * * * *Scene scene = new Scene(root);
 * * * *
 * * * *stage.setScene(scene);
 * * * *stage.show();
 * *}

 * */**
 * * * @param args the command line arguments
 * * */
 * *public static void main(String[] args) {
 * * * *launch(args);
 * *}
 * *
}

Etiquetas: javafx, string, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:45.