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

Error al obtener datos de otra ventana javafx

Estas en el tema de Error al obtener datos de otra ventana javafx en el foro de Java en Foros del Web. Hola a todos y muchas gracias por leerlo, estoy haciendo en JavaFX 8 un sistema de ventas, tengo creado la administración de clientes, categorías, empleados ...
  #1 (permalink)  
Antiguo 20/01/2016, 15:04
Usuario no validado
 
Fecha de Ingreso: abril-2012
Mensajes: 134
Antigüedad: 12 años, 7 meses
Puntos: 0
Error al obtener datos de otra ventana javafx

Hola a todos y muchas gracias por leerlo, estoy haciendo en JavaFX 8 un sistema de ventas, tengo creado la administración de clientes, categorías, empleados y productos con su CRUD cada uno, pero el problema me lo encuentro cuando desde la vista productos abro otra ventana para seleccionar la categoría a la que se acoge. esto desde Java Swing es relativamente sencillo creando un jdialog y retornando valores, pero me encuentro algunos problemas que no entiendo. Voy poniendo codigo y explicando el error que tengo:


Controlador de la ventana productos, donde inicio la ventana para seleccionar la categoría
Código:
@FXML
	public void openSelectCategory(ActionEvent event) {
		SelectCategory sc = new SelectCategory();
		sc.initSelectCategory();
	}
Este es el código para abrir la segunda ventana donde selecciono la categoría
Código:
El código para iniciar la ventana
        public void initSelectCategory() {
		try {
			selectCategoryStage = new Stage();
			FXMLLoader selectCategoryLoader = new FXMLLoader();
			selectCategoryLoader.setLocation(MainApp.class.getResource("view/SelectCategoryView.fxml"));
			BorderPane selectCategoryLayout = (BorderPane) selectCategoryLoader.load();

			Scene sceneLayot = new Scene(selectCategoryLayout);
			selectCategoryStage.setScene(sceneLayot);
			selectCategoryStage.initOwner(MainApp.primaryStage);
			selectCategoryStage.initModality(Modality.APPLICATION_MODAL);
			selectCategoryStage.centerOnScreen();
			selectCategoryStage.show();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
El controlador de la ventana para seleccionar la categoría

Aquí recupero el id de la categoría desde un tableview seleccionada y lo paso a traves de SetUserData y lo ejecuto con la funcion loadCategory

Código:
@FXML
	public void selectCategory() {
		ManageProduct.manageProductStage.setUserData(p);
		ManageProductViewController m = new ManageProductViewController();
		m.loadCategory();
		SelectCategory.selectCategoryStage.close();
	}
Controlador de la ventana productos, donde inicio la ventana para seleccionar la categoría

En este código recupero el valor del ID, se muestra el valor recuperado perfectamente en un JOpcionPane, el problema es cuando se lo asigno a tfShowCategoryProduct ( textfield con SetText) me lanza un error, incluso cuando le asigno cualquier texto al textfiel manualmente, me da el mismo error, he puesto el textfiel como static y tampoco funciona.

Código:
        public void loadCategory() {
		String data = ManageProduct.manageProductStage.getUserData().toString();

		if (data != null) {
			tfShowCategoryProduct.setText(data);
			JOptionPane.showMessageDialog(null, data);
		} else {
			JOptionPane.showMessageDialog(null, "Error");
		}

	}

Este es el error
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at javafx.fxml.FXMLLoader$MethodHandler.invoke(Unknow n Source)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandle r.handle(Unknown Source)
at com.sun.javafx.event.CompositeEventHandler.dispatc hBubblingEvent(Unknown Source)
at com.sun.javafx.event.EventHandlerManager.dispatchB ubblingEvent(Unknown Source)
at com.sun.javafx.event.EventHandlerManager.dispatchB ubblingEvent(Unknown Source)
at com.sun.javafx.event.CompositeEventDispatcher.disp atchBubblingEvent(Unknown Source)
at com.sun.javafx.event.BasicEventDispatcher.dispatch Event(Unknown Source)
at com.sun.javafx.event.EventDispatchChainImpl.dispat chEvent(Unknown Source)
at com.sun.javafx.event.BasicEventDispatcher.dispatch Event(Unknown Source)
at com.sun.javafx.event.EventDispatchChainImpl.dispat chEvent(Unknown Source)
at com.sun.javafx.event.BasicEventDispatcher.dispatch Event(Unknown Source)
at com.sun.javafx.event.EventDispatchChainImpl.dispat chEvent(Unknown Source)
at com.sun.javafx.event.EventUtil.fireEventImpl(Unkno wn Source)
at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
at javafx.event.Event.fireEvent(Unknown Source)
at javafx.scene.Node.fireEvent(Unknown Source)
at javafx.scene.control.Button.fire(Unknown Source)
at com.sun.javafx.scene.control.behavior.ButtonBehavi or.mouseReleased(Unknown Source)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase $1.handle(Unknown Source)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase $1.handle(Unknown Source)
at com.sun.javafx.event.CompositeEventHandler$NormalE ventHandlerRecord.handleBubblingEvent(Unknown Source)
at com.sun.javafx.event.CompositeEventHandler.dispatc hBubblingEvent(Unknown Source)
at com.sun.javafx.event.EventHandlerManager.dispatchB ubblingEvent(Unknown Source)
at com.sun.javafx.event.EventHandlerManager.dispatchB ubblingEvent(Unknown Source)
at com.sun.javafx.event.CompositeEventDispatcher.disp atchBubblingEvent(Unknown Source)
at com.sun.javafx.event.BasicEventDispatcher.dispatch Event(Unknown Source)
at com.sun.javafx.event.EventDispatchChainImpl.dispat chEvent(Unknown Source)
at com.sun.javafx.event.BasicEventDispatcher.dispatch Event(Unknown Source)
at com.sun.javafx.event.EventDispatchChainImpl.dispat chEvent(Unknown Source)
at com.sun.javafx.event.BasicEventDispatcher.dispatch Event(Unknown Source)
at com.sun.javafx.event.EventDispatchChainImpl.dispat chEvent(Unknown Source)
at com.sun.javafx.event.EventUtil.fireEventImpl(Unkno wn Source)
at com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
at javafx.event.Event.fireEvent(Unknown Source)
at javafx.scene.Scene$MouseHandler.process(Unknown Source)
at javafx.scene.Scene$MouseHandler.access$1500(Unknow n Source)
at javafx.scene.Scene.impl_processMouseEvent(Unknown Source)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Un known Source)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$Mo useEventNotification.run(Unknown Source)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$Mo useEventNotification.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.la mbda$handleMouseEvent$354(Unknown Source)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithou tRenderLock(Unknown Source)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.ha ndleMouseEvent(Unknown Source)
at com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
at com.sun.glass.ui.View.notifyMouse(Unknown Source)
at com.sun.glass.ui.win.WinApplication._runLoop(Nativ e Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$14 8(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknow n Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Un known Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.Trampoline.invoke(Unknown Source)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknow n Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Un known Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.reflect.misc.MethodUtil.invoke(Unknown Source)
... 49 more
Caused by: java.lang.NullPointerException
at com.maurifuentes.bm.view.ManageProductViewControll er.loadCategory(ManageProductViewController.java:3 07)
at com.maurifuentes.bm.view.SelectCategoryViewControl ler.selectCategory(SelectCategoryViewController.ja va:129)
... 58 more

Etiquetas: javafx, string, ventana
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 13:32.