elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 70
41  Programación / Java / Re: Botón y cuadros de texto en: 12 Julio 2015, 23:39 pm
Lo que pasa es que Oracle ya no hace binarios de JavaFX Scene Builder. El source está disponible, pero tienes que compilarlo. Gluon lo empaqueta ya para distintas arquitecturas.

Saludos.
42  Programación / Java / Re: Ayuda ejercicio vectores en: 12 Julio 2015, 23:19 pm
Te pongo un ejemplo muy simple con method chaining (encadenamiento de métodos) que es útil aquí:

Código
  1. public class ArrayGenerator {
  2.    private double[] numbers;
  3.    private double minor;
  4.    private double major;
  5.    final static Scanner READER;
  6.    final static Random GENERATOR;
  7.  
  8.    public ArrayGenerator() {
  9. READER = new Scanner(System.in);
  10. GENERATOR = new Random();
  11.    }
  12.    public ArrayGenerator fillArray() throws ArrayOutOfBoundsException {
  13. System.out.println("¿Cuántos números desea generar?");
  14. byte quantity = READER.nextByte();
  15.  
  16.        if(quantity > 15) {
  17.    throw new ArrayOutOfBoundsException("El arreglo debe tener máximo 15 elementos");
  18. }
  19. numbers = new Double[quantity];
  20. for(byte i=0; i<quantity; i++) {
  21.    numbers[i] = GENERATOR.nextDouble();
  22. }
  23. return this;
  24.    }
  25.    public ArrayGenerator major() {
  26. major = numbers[0]; // asume 1er elemento como mayor
  27. for(double number : numbers) {
  28.    major = (number > major) ? number : major;
  29.        }
  30. return this;
  31.    }
  32.    public ArrayGenerator minor() {
  33. minor = numbers[0]; // asume 1er elemento como menor
  34. for(double number : numbers) {
  35.    minor = (number < minor) ? number : minor;
  36.        }
  37. return this;
  38.    }
  39.    public double getMajor() {
  40. return major;
  41.    }
  42.    public double getMinor() {
  43. return minor;
  44.    }
  45. }

En la clase donde se instanciará ArrayGenerator:

Código
  1. try {
  2.    ArrayGenerator arrayGenerator =
  3. new ArrayGenerator()
  4. .fillArray()
  5. .major()
  6. .minor();
  7.  
  8. System.out.println("El número mayor es: " + arrayGenerator.getMajor());
  9. System.out.println("El número menor es: " + arrayGenerator.getMinor());
  10. } catch(ArrayOutOfBoundsException ex) {
  11.    // el mensaje es el que le pasamos por parámetro al constructor de la excepción
  12.    // cuando lo lanzamos si es que se elige ingresar más de 15 números. El mensaje
  13.    // es: 'El arreglo debe tener máximo 15 elementos'
  14.    System.err.println(ex.getMessage());
  15. }
43  Programación / Java / Re: Botón y cuadros de texto en: 12 Julio 2015, 22:42 pm
Post actualizado. He puesto el link de descarga.
44  Programación / Java / Re: Botón y cuadros de texto en: 11 Julio 2015, 19:10 pm
¿Y porqué mejor no empezamos a usar de una vez los estándares modernos?, ¿Por qué optar por Swing si tienes JavaFX?

Ventajas de JavaFX

  • Te da una forma de trabajar que es MVC (Modelo - Vista - Controlador).
  • Las vistas se escriben en FXML (XML) y cada vista tiene un controlador.
  • Inyección de dependencias (controles UI) en el controlador.
  • Soporte para animaciones 2D y 3D.
  • Componentes nuevos, como WebBrowser (un navegador integrado en tu aplicación).
  • Soporte para customización de controles con CSS.
  • API mejor estructurada y aplicando los últimos estándares (API moderna, Swing != moderno).
  • Ejecución en el navegador por medio de JNLP
  • Muchos Listeners para tus controles.
  • Y mucho más.
Preguntas frecuentes

Citar
Si las vistas se hacen en XML es demasiado difícil crear una interfaz gráfica.

Falso. Para construir las interfaces tienes a JavaFX Scene Builder

Citar
Si uso JavaFX no puedo usar Swing en la misma aplicación

Falso. JavaFX se integra bien con Swing (lo que debes preguntarte es para qué necesitas Swing dentro de JavaFX)

Recursos

Tutorial JavaFX con Java 8
Oracle JavaFX 8 overview
Scene Builder
45  Programación / Java / Re: JPQL Ayudar profavor. en: 10 Julio 2015, 21:46 pm
Ya te respondí en el tema original.
46  Programación / Java / Re: JPA Ayuda plz. en: 10 Julio 2015, 20:37 pm
Intentemos lo siguiente, ejecutemos la query nativa, es decir, SQL no JPQL. Primero, necesitamos envolver los resultados de las dos tablas y nos apoyaremos en @SqlResultSetMapping:

Código
  1. @SqlResultSetMapping(name="UsuarioCuestionarioResults",
  2.    entities={
  3. @EntityResult(entityClass=tu.paquete.Usuario.class)
  4. @EntityResult(entityClass=tu.paquete.Cuestionario.class)
  5.    }
  6. )
  7. public class Usuario implements Serializable {
  8. ...
  9. }

donde, name es el indentificador. El conjunto entities especifica las clases (tablas) que devolverá la consulta nativa, que son 2: usuarios y cuestionarios.

Ahora, procedemos a llamarlo:

Código
  1. String queryStr = "SELECT u.nombre, c.nombre FROM usuarios u, cuestionarios c,
  2. INNER JOIN usuarios_cuestionarios uc ON uc.id_usuario = u.id_usuario,
  3. INNER JOIN uc.id_cuestionario = c.id_cuestionario
  4. WHERE c.id = 2";
  5.  
  6.  
  7. Query q = em.createNativeQuery(queryStr, "UsuarioCuestionarioResults");
  8. List<Object[]> results = (List<Object[]>) q.getResult();
  9.  
  10. for(Object[] record = results) {
  11.    Usuario u = (Usuario) record[0];
  12.    Cuestionario c = (Cuestionario)[1];
  13.  
  14.    // hacer algo
  15. }

Como ves, llamamos al ResultSetMapping por su identificador. Las nativeQueries devuelven arreglos de objetos, éstos, dependen de las clases (tablas) que devuelve la consulta. Por eso, cada ítem de la lista devuelta, tendrá 2 clases ya mapeadas: Usuario y Cuestionario.

Ahora ya podrás mostrar los datos.

PD: Posiblemente hayan errores, pero serán mínimos, en ese caso, sería bueno que busques también por tu cuenta.
47  Programación / Java / Re: JPA Ayuda plz. en: 9 Julio 2015, 22:12 pm
Primero debes empezar la transacción:

Código
  1. EntityManager em=emf.createEntityManager();
  2. EntityTransaction tx = em.getTransaction();
  3. tx.begin();
  4. ...
  5. em.persist(u);
  6. em.persist(c);
  7. tx.commit();

Otra cosa, por lógica, si te da el error debes de ponerlo también para que podamos verlo, de otra manera, estamos adivinando.

Saludos.
48  Programación / Java / Re: Tengo una duda con un codigo de java en: 7 Julio 2015, 16:15 pm
+1 a Baal. Analiza bien el problema propuesto antes de siquiera hacer un System.out.println. Primero analiza y resuelve el problema en pseudocódigo, o con dibujos, como sea, lo importante es que agilices tu capacidad analítica.

El código de Baal es correcto para tu propósito:

Código
  1. // va bajando de 5 a 1
  2. for(byte i=5; i<=1; i--) {
  3.    // recorre de 1 hasta 5. Como i va bajando, éste for
  4.    // imprimirá primero hasta 5, luego hasta 4 y así...
  5.    for(byte j=1; j<=5; j++) {
  6.        System.out.print(j);
  7.    }
  8.    System.out.println();
  9. }
49  Programación / Java / Re: Subir archivos con Servlet en: 6 Julio 2015, 15:34 pm
Go go go Baal, ya te falta poco para dar el salto a Java EE!. Sigue estudiando bro.
50  Programación / Desarrollo Web / Re: Cambiar imagen de un IMG desde un input file sin hacer ajax o cosas asi en: 6 Julio 2015, 02:34 am
Obtienes la imagen, la conviertes a blob y la asignas el blob al atributo src del IMG:

Código
  1. var file = document.querySelector('#imgInput').files[0];
  2. var blob = URL.createObjectURL(file);
  3. document.querySelector('#img').src = blob;

ver demo
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 70
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines