Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Nakatsukasa Itero

#1
Java / [Solucionado] no perder el Foco??
10 Mayo 2012, 20:19 PM
 :silbar:
pues como dice el título, ando y ando busque ejemplos y code sobre el como tener dos ventanas abiertas (independientes) y que la segunda que se abre, no permita que la minimize o que de click en otra ventana o que pierda el foco, pero no+ no.... y estoy casi seguro de que es como la forma de (o parecida) evitar que se cierre la ventana, es consumir el evento del lostfocus, pero no se como agarrarlo o hacer eso.... alguien me puede guiar, se que no deboe pedir codigo, pero al menos una pagina donde me oriente, gracias y disculpas.

uso NetBeans (7.1.2)
JDK 7.4
JavaFX 2.1  ;D
#2
hola, ya de seguro me kieren retirar de la programacion en java pero todavia no....  ;D
reulta que tengo un formulario X (para llenar una renta de un juego); tengo un bonton que valida que los datos de la renta (cliente, juegos y controles) están correctos, en la parte que llama a una ventana externa (el mismo boton) me tira un NullPointerException, aqui está el boton que llama a la ventana externa para aceptar la renta:

btnRealizarRenta.setOnAction(new EventHandler<ActionEvent>() {
           @Override
           public void handle(ActionEvent t) {
               System.out.println("1----------");
               if(elCliente==null || aListJuegos==null){
                   System.out.println("2");
                   int opcion = JOptionPane.showOptionDialog(null, "No se ha encontrado cliente o juego para la renta\nPor favor realiza la busqueda correspondiente para poder realizar la renta", "Espera", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null);
                   System.out.println("3");
                   System.out.println("opcion "+opcion);
               }
               else{
                   System.out.println("4");
                   //RentaInterna ri=new RentaInterna(elCliente,ctr,aListJuegos,"EXTERNA");
                   try{
                       System.out.println("5");
                   RentaInterna ri=new RentaInterna(elCliente,ctr,aListJuegos,"EXTERNA");
                   System.out.println("6");
                   //RentaInterna ri=new RentaInterna(ctr,"EXTERNA");
                   Stage st = new Stage();
                   System.out.println("7");
                   Group rentafx = new Group();
                   System.out.println("8");
                   st.setScene(new Scene(rentafx, 715, 535));
                   System.out.println("9");
                   ri.start(st);
                   System.out.println("10");
                   //btnRealizarRenta.setDisable(true);
                   }
                   catch(Exception ex){
                       System.out.println("11");
                       System.out.println("-- "+ex.toString());
                       System.out.println("12");
                   }
                   aListJuegos=null;
                   System.out.println("13");
               }
               //deshabilitaTodo();//para asegurarse de los estados de las cosas
               t.consume();
               System.out.println("14");
           }
       });

los sout´s (System.out.println() los uso para hacer debbug y ver donde esta el problema) me llegan hasta el numero 9, despues de ahi, no pasa al 10 y se muestran el 11 y el 12 (la parte del catch())

aqui está TODO el codigo de la clase renta interna (verán que tengo rentas externas e internas por los distintos costructores e if´s que están puestos)

package javafxejemplo1;
import java.util.ArrayList;
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.EventHandler;
import javafx.event.EventType;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.input.ScrollEvent;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
import javafx.stage.WindowEvent;
import javax.swing.JOptionPane;

public class RentaInterna extends Application{
   //setDefaultCloseOperation(0);
   DatosRenta renta;
   DatosRentaExterna rentaE;
   Controlador cnt;
   Scene sc;
   MarcoRentaPane mrp;
   Tarifa tarifa;
   Modulo modulo;
   //---
   Renta renta_e;
   private String edicion="false";
   //---
   double disponible;
   double ultimaScaleX;
   double ultimaScaleY;
   double nuevaSceneX;
   double nuevaSceneY;
   double ultimaSceneX;
   double ultimaSceneY;
   double nuevaScaleX;
   double nuevaScaleY;
   int diferenciaX;
   int diferenciaY;
   final static int WIDTH=715;
   final static int HEIGHT=535;
   private double initX;
   private double initY;
   double nueva=1.0;
   //---
   Cliente cCliente;
   Controlador cControlador;
   ArrayList<Juegos> juegos;
   String Tipo;
   //---
   RentaInterna(){}
   RentaInterna(MarcoRentaPane mrp){
       this.mrp=mrp;
   }
   RentaInterna(MarcoRentaPane mrp, Tarifa tarifa){
       this.mrp=mrp;
       this.tarifa=tarifa;
   }
   RentaInterna(MarcoRentaPane mrp, Tarifa tarifa, Modulo modulo){
       this.mrp=mrp;
       this.tarifa=tarifa;
       this.modulo=modulo;
   }
   
   RentaInterna(MarcoRentaPane mrp, Tarifa tarifa, Modulo modulo, Controlador ctr){
       //setDefaultCloseOperation(0);
       this.mrp=mrp;
       this.cnt=ctr;
       this.tarifa=tarifa;
       this.modulo=modulo;
   }
   RentaInterna(MarcoRentaPane mrp, Tarifa tarifa, Modulo modulo, Controlador ctr, double disponible){
       //setDefaultCloseOperation(0);
       this.disponible=disponible;
       this.mrp=mrp;
       this.cnt=ctr;
       this.tarifa=tarifa;
       this.modulo=modulo;
   }
   RentaInterna(MarcoRentaPane mrp,Controlador ctr,String edicion, double disponible){
       this.mrp=mrp;
       this.cnt=ctr;
       this.edicion=edicion;
       this.disponible=disponible;
   }
   RentaInterna(Cliente cCliente,Controlador cControlador,ArrayList<Juegos> juegos,String edicion){
   //RentaInterna(Controlador cControlador,String edicion){
       //this.cCliente=cCliente;//este problemita me hacia toda la vida imposible, resulta que en realidad laguien (mi jefe) lo comentó para hacer pruebas y se le olvifó decirme :rolleyes:
       this.cControlador=cControlador;
       //this.juegos=juegos;
       this.edicion=edicion;
       System.out.println("todo bien hasta aqui");
   }
   RentaInterna(Cliente cliente,Controlador cControlador,String edicion){
   //RentaInterna(Controlador cControlador,String edicion){
       this.cCliente=cliente;
       this.cControlador=cControlador;
       //this.juegos=juegos;
       this.edicion="EXTERNA";
       System.out.println("todo bien hasta aqui");
   }
   public static void main(String[] args) {
        launch(args);
   }
   @Override
   public void start(final Stage primaryStage) {
      // cnt=new Controlador();
       //primaryStage.getOnCloseRequest();
       if("false".equalsIgnoreCase(edicion)){
           renta = new  DatosRenta(cnt,mrp,primaryStage,tarifa,modulo,disponible);
       }
       else if("EXTERNA".equalsIgnoreCase(edicion)){
           rentaE = new  DatosRentaExterna(cControlador,primaryStage,cCliente,juegos);
       //this.ctr=ctr;
           //renta = new  DatosRenta(primaryStage,cControlador,edicion);
       }
       else{
           //System.out.println("Edicion no es false");
           renta = new  DatosRenta(cnt,mrp,primaryStage,true,disponible);
       }
       final BorderPane root = new BorderPane();
       if("EXTERNA".equalsIgnoreCase(edicion)){
           root.setCenter(rentaE);
       }
       else{
           root.setCenter(renta);
       }
       root.setPrefWidth(WIDTH);//+15
       root.setPrefHeight(HEIGHT);//+15
       Scene Escena=new Scene(root);
       try{
           primaryStage.setScene(Escena);
       primaryStage.show();
       }
       catch(Exception ex){
           System.out.println("que px: ");
       }
       ultimaScaleX=1;
       ultimaScaleY=1;
       primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>(){//toma el evento de cierre y que haga lo que estan en el handle
           @Override
           public void handle(WindowEvent arg0) {
               arg0.consume();
               /*if("false".equals(edicion)){
                   int opcion = JOptionPane.showOptionDialog(null, "¿Estás seguro que deseas cancelar la renta?", "Alto", JOptionPane.ERROR_MESSAGE, JOptionPane.WARNING_MESSAGE, null, null, null);
                   if(opcion==0){//si
                       //primaryStage.show();
                       //System.out.println("no jala");
                   }
                   else{}
                   mrp.destruir();
               }
               else if("EXTERNA".equalsIgnoreCase(edicion)){}
               else{
                   //ctr.cancelarRenta(mrp.getRent().getTicket(), mrp.getRent().getCliente(), mrp.getRent().getJuegos(),mrp.getRent().getIdModulo(),"INTERNA", mrp.getRent().getControles(), Utilerias.obtenerFechaCorta()+" "+mrp.getRent().getInicio()+":00", Utilerias.obtenerFechaCorta()+" "+mrp.getRent().getExpira()+":00", mrp.getRent().getTotal(), mrp.getRent().getPromosion(),mrp.getRent().getIdEmpleado());
                   cnt.cancelarRenta(mrp.getRent().getTicket(), mrp.getRent().getCliente(), mrp.getRent().getJuegos(),mrp.getRent().getIdModulo(),"INTERNA", mrp.getRent().getControles(), Utilerias.obtenerFechaCorta()+" "+mrp.getRent().getInicio()+":00", Utilerias.obtenerFechaCorta()+" "+mrp.getRent().getExpira()+":00", mrp.getRent().getTotal(), mrp.getRent().getPromosion(),mrp.getRent().getIdEmpleado());
                   mrp.destruir();
               }*/
           }
           
       });
       primaryStage.widthProperty().addListener(new ChangeListener<Number>() {
           @Override
           public void changed(ObservableValue<? extends Number> observableValue, Number oldSceneWidth, Number newSceneWidth) {
               nuevaSceneX=(double)newSceneWidth;
               nuevaScaleX=(nuevaSceneX/WIDTH);
               root.setScaleX(nuevaScaleX-0.050500);
               if(ultimaSceneX>nuevaSceneX){
                   root.setTranslateX(1.0);
               }
               ultimaScaleX=nuevaScaleX;
               root.setLayoutX(0);
               root.setLayoutY(0);
           }
       });
       primaryStage.heightProperty().addListener(new ChangeListener<Number>() {
           @Override
           public void changed(ObservableValue<? extends Number> observableValue, Number oldSceneHeight, Number newSceneHeight) {
               nuevaSceneY=(double)newSceneHeight;
               nuevaScaleY=(nuevaSceneY/HEIGHT);
               root.setScaleY(nuevaScaleY-0.050500);
               if(ultimaSceneY>nuevaSceneY){
                   root.setTranslateY(1.0);
               }
               ultimaScaleY=nuevaScaleY;
               root.setLayoutX(0);
               root.setLayoutY(0);
           }
       });
       root.setOnMousePressed(new EventHandler<MouseEvent>() {
           @Override
           public void handle(MouseEvent me) {
               initX = me.getScreenX() - primaryStage.getX();
               initY = me.getScreenY() - primaryStage.getY();
           }
       });
       //when screen is dragged, translate it accordingly
       root.setOnMouseDragged(new EventHandler<MouseEvent>() {
           @Override
           public void handle(MouseEvent me) {
               primaryStage.setX(me.getScreenX() - initX);
               primaryStage.setY(me.getScreenY() - initY);
           }
       });
       root.setOnScroll(new EventHandler<ScrollEvent>(){
           @Override
           public void handle(ScrollEvent arg0) {
               nueva=(arg0.getDeltaY()/403);
               //if((primaryStage.getWidth()>=174.3) || (primaryStage.getHeight()>=145.2)){
                   root.setScaleX(nueva);
                   primaryStage.setWidth((nueva)*WIDTH);
//                    System.out.println("primary Stage Width "+primaryStage.getWidth());
                   root.setScaleY(nueva);
                   primaryStage.setHeight((nueva)*HEIGHT);
//                    System.out.println("Height "+primaryStage.getHeight());
                   //root.setLayoutX(0);
                   //root.setLayoutY(0);
               //}
           }
       });
     
   }
}


pero en el primer bloque code, como les digo me lanza la excepcion despues del sout 9 (ri.start(st)) y y ade ahí no sé cual sea el problema, la parde de DatosRentaExterna es igual a otras clases que tengo y que funcionana si problema o complicacion alguna.

agradezco vuestra ayuda desde CH  :¬¬  MX  >:D

Editado, en la clase de RentaInterna, no inicializaba el objeto cCliente, mi jefe lo deshabilito para poder hacer pruebas... pero ya está corregido  :rolleyes:, jamas me dijo...
#3
pues primero que nada buen dia... y diran otra vez este vato.... debe de aprender mas cosas.... ;D. el punto es que como soy el unico que programa cuando mi jefe no está aquí y eso es casi todos los dias por lo menos 4 horas.... pues recurro a donde pueda.

Ok ahora me topo con el problema de cerrar un Stage (que vendria siendo un tipo de JFrame, Frame, etc. pero en javafx), he visto las soluciones de como se remueve un listener y un event (de cualquier tipo) en swing, pero para fx, la coa cambia, he insertadoprimaryStage.removeEventHandler(WindowEvent.WINDOW_CLOSE_REQUEST, eHCerrar);
donde el PrimaryStage pues vendria siendo el frame o similar en cuestion
el WindowEvent.WINDOW_CLOSE_REQUEST, viene siendo mi tipo de handler o evento, si miran bien se toma el de cerrar.
eHCerrar es el handler en si...

en resumen la linea dice que quiero remover el evento de cierre de una ventana, pero ni pex.... ya le puse puntos a todas partes (uso el netbeans para autocompletar codigo, ya que no existe un composer para javafx 2.0.3) y se sigue cerrando el frame, claro que ya puedo hacer acciones mientras se sierra, es decir, que le doy click al boton de cerrrar y me muestra un dialogo para ver si quiero cerrar o no (con todo y opciones de si le doy a si, que haga tal, si no, haga otro tal), pero le de a si o no, me termina cerrando la ventana, y es lo que no quiero (bueno, mi jefe, de ser por mi, le ponia al stage:Stage st = new Stage(StageStyle.UNDECORATED); pero el cliente quiere que se pueda hacer un resize y el contenido tenga un zoom en cuestion, cosa que no sucede si le pongo undecorated (le quita el borde a la ventana :-\))

les agradezo sus opiniones y ayuda  :silbar:  :D  :-(  :-\  :D !
#4
pues como dice, me resulta que quiero ejecutar una aplicacion pero me salta una ventana que dice que la aplicacion no está firmada y por ende no se puede ejecutar, alguien sabe como puedo firmar las aplicaciones java para poderlas ejecutar donde sea? de antemano gracias :huh: :-\
#5
tengo un xml cualquiera que lo voy a convertir a codigo html ;D, pero eso ya lo tengo, lo que me acongoja es que necesito saber cuantos nodos tengo en una parte (que serian las cloumnas) para hacer un colspan, con xsl ya los puedo contar, pero no la puedo usar (la variable  :o)(mas bien no se :-\  :-[) alguien me puede ayudar, gracias
#6
Java / Reportes en xml y de ahi a PDF
29 Marzo 2012, 00:20 AM
 :huh: pues así es, ahora con la pregunta hacia ustedes, trabajando con java en un entorno de aplicacion de escritorio y bases de datos nos surgió la necesidad de realizar un reporte e imprimirlo o almeos guardarlo como archivo pdf (claro está con formato y toda la cosa, de lo cual se encarga i colega), el problema es que aunque existen los reconocidos iReports y JasperReports, mi colega no quiere utilizarlos para nada asique me surge la necesidad de un resultado de consulta de base de datos, pasarlo como reporte a xml y de ahi convertirlo a pdf :huh:

además el jefe quiere que la aplicacion que estamos realizando sea multiplataforma (que no tenga que instalar nada extra además; solo quizá la aplizacion misma y el java) por lo que los instaladores de aplicaciones no me serivirian, por lo que debo de trabajar con puras libs(jar , similares y conexos) y cosas así. alguien tiene una idea ya sea hacer un pdf con un resulset (por ejemplo) como base (es decir, que teniendo los datos dle resulset, pues yo los muevo) para la creacion del xml (o pdf directamente  ;D) y si tengo el pdf, como convertirlo a pdf para que el reporte despues pueda ser impreso....  de antemano gracias :rolleyes:
#7
Java / Tomar fotografía con java
23 Marzo 2012, 21:10 PM
he estado viendo su podt y a mi jefe le gustó y descargo e implementó la captura de la fotografía con camaras web y java pero dice que en un futuro quiere implementar los sistemas que creamos de tal forma que el cliente no deba hacer pasos extras de instalacion, simplemente el del sistema, entonces se encontró que cada vez que debemos de instalar un sistema tenemos que fijarnos en el sistema operativo para tener los componentes/librerias necesarios, entonces surge la duda en que si hay alguna libreria ue sea multiplataforma :D que no tenga que instalarse, sino que ya vaya (o podamos) empaquetada con el proyecto y que incluso si eso se puede, por medio de un asistene que nosotros empezamos a implementar (como un instalador) solo descargue la aplicacion de la pagina de la empresa y el asistente mismo le instala la aplicacion ya "compilada".

dijo que encontro una libreria con un nombre que no recuerdo que tenia una "L" que segun el leyó la susodicha letra es por Linux, pero no ha encontrado nada parecido o su homónima para Ventanas alguien tiene alguna idea.

por su ayuda en ambas o alguna de las preguntas se los agradezco