Jump to content

Ventana emergente en java


Recommended Posts

Buenos dias, les comento, me inscribí a un curso de java para reforzar mis clases de la Universidad, el tema en cuestión es, hicimos una ventana en javaFX la cual en presionar un botón (Nuevo) debe aparecer una ventana emergente y mostrar un mensaje random, el inconveniente es que cuando presiono el botón Nuevo aparece la ruedita de colores girando pero no aparece la ventana, cambie la ventana por un mensaje en terminal y si funciona, probe en otras PC con sistemas operativos distintos y si corre el programa y muestra la ventana emergente, lo cual me hace descartar errores en el codigo, la pregunta es necesito configurar algo para mostrar la ventana emergente? adjunto codigo e imágenes.

 

Hable con el instructor pero su poca experiencia en mac es casi nula, solo usa Win2, y praticamente solo yo uso mac en el curso, los otros usan Win2 o Ubuntu. En sus maquinas mi codigo corre bien y muestra la ventana.

 

Alguien me puede guiar o a tenido algún problema parecido?

 

 

Esta clase muestra la ventana principal donde se importa la clase SCENE hecha con javaFX Scene Builder

 

 



package org.abelarchila.sistema;

import java.io.InputStream;
import java.io.IOException;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.fxml.JavaFXBuilderFactory;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;

public class Principal extends Application {
   private final String PAQUETE_VISTA = "/org/abelarchila/view/";
   private Stage escenarioPrincipal;
   @Override
   public void start(Stage escenarioPrincipal) {
  	this.escenarioPrincipal = escenarioPrincipal;
  	this.escenarioPrincipal.setTitle("APP Transporte v1.1");
  	mostrarVentanaCategorias();
  	this.escenarioPrincipal.show();
   }

   public static void main(String[] args) {
       launch(args);
   }
   public void mostrarVentanaCategorias(){
       try{
           cambiarEscena("CategoriaView.fxml", 600, 400);
       } catch(IOException e){
           e.printStackTrace();
       }
   }
   public Initializable cambiarEscena(String fxml, int ancho, int alto) throws IOException {
       Initializable resultado = null;
       FXMLLoader cargadorFXML = new FXMLLoader();
       InputStream archivo = Principal.class.getResourceAsStream(PAQUETE_VISTA + fxml);
       cargadorFXML.setBuilderFactory(new JavaFXBuilderFactory());
       cargadorFXML.setLocation(Principal.class.getResource(PAQUETE_VISTA + fxml));
       cargadorFXML.setLocation(Principal.class.getResource(fxml));
       Scene escena = new Scene((AnchorPane)cargadorFXML.load(archivo), ancho, alto);
       this.escenarioPrincipal.setScene(escena);
       this.escenarioPrincipal.sizeToScene();
       resultado = (Initializable) cargadorFXML.getController();
           
       return resultado;
   }
}

 

 

esta clase es la que genera la ventana emergente con el mensaje random

 



package org.abelarchila.bean;
import java.util.UUID;

public class Categoria {
  private String codigo;
  private String descripcion;
  private String imagen;
  
  public Categoria(){
  	this.codigo = UUID.randomUUID().toString();
  }

   public Categoria(String codigo, String descripcion, String imagen) {
       this.codigo = codigo;
       this.descripcion = descripcion;
       this.imagen = imagen;
   }

   public String getCodigo() {
       return codigo;
   }

   public void setCodigo(String codigo) {
       this.codigo = codigo;
   }

   public String getDescripcion() {
       return descripcion;
   }

   public void setDescripcion(String descripcion) {
       this.descripcion = descripcion;
   }

   public String getImagen() {
       return imagen;
   }

   public void setImagen(String imagen) {
       this.imagen = imagen;
   }
}

 

 

este es el controller

 



package org.abelarchila.controller;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.Initializable;
import javax.swing.JOptionPane;
import org.abelarchila.bean.Categoria;
public class CategoriaController implements Initializable {

   @Override
   public void initialize(URL location, ResourceBundle resources) {
       
   }
   public void saludar(){
       //System.out.println("HOLA");
       Categoria nuevo = new Categoria();
       JOptionPane.showMessageDialog(null, nuevo.getCodigo());
   }
}

 

 

esta es la ventana general

 

21j29aq.png

 

 

 

en esta ventana en la parte izquierda esta linkiado el botón abrir con el controller

 

2ngy7gm.png

 

 

esta es la ventana cuando precioso el botón abrir no se ve la ruedita de colores, creo que la captura la ignoro

 

2w4n11y.png

Edited by White Snake
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.