Bienvenido a Java Mexico

Java México es una comunidad de desarrolladores mexicanos en el lenguaje Java.

Este sitio es colaborativo, automáticamente al registrarte obtienes un Blog para compartir tus conocimientos o información acerca del lenguaje. Antes de publicar en tu blog o los foros por favor lee los lineamientos de publicación.

Para dudas y problemas con respecto al lenguaje Java puedes visitar los Foros de Discusión.

También puedes responder nuestra encuesta para saber en que estado vives!

Ayuda con BD

Hola que tal de nuevo yo jaja que noob soy lo se :c
Ahora se me presenta un problema algo raro no se como solucionarlo bueno lo explico
Tengo la siguiente interface de login

  • https://fbcdn-sphotos-b-a.akamaihd.net/hphotos-ak-xat1/t31.0-8/11148576_...
    public void programarEntrar(ActionEvent event){
            String nombre = txtNombre.getText();
            String contra = new String (txtContra.getCharacters().toString());
            Connection db = new conectarDB().conectar_BD();
            try {
                Statement st = db.createStatement();
                ResultSet rs = st.executeQuery("select * from user where usuario = '" +nombre+ "' and contra = '"+contra+"'");
                if(rs.next()){
                    if (rs.getInt(5) == 1){
                        administrarUsuarios usuario = new administrarUsuarios(nombre);
                        frmPrincipalAdministrador administradorPrincipal = new frmPrincipalAdministrador(
                                usuario.getID(),
                                usuario.getNombre(),
                                usuario.getUsuario(),
                                usuario.getContra(),
  • Más fácil que FizzBuzz

    En reddit el día de hoy apareció el siguiente link:

    http://www.thousandtyone.com/blog/EasierThanFizzBuzzWhyCantProgrammersPr...

    "Más fácil que FizzBuzz, ¿por que los programadores no pueden imprimir del 100 al 1?" (por cierto no explica por qué)

    Básicamente se trata de resolver este problema:

    "Imprimir del 100 al 1 con la restricción de que el código debe de comenzar con: for ( int i = 0;, no puede haber nada antes y no se puede usar más de un loop"

    Y explica que muchísimos fallan con eso, el tiempo ideal es de < 2 minutos, y si tardan más de 10 estan fuera (yo tarde 2:07 y funcionó en el primer intento).

    Ahí se los dejo nomás para entretenerse:

    public class M {
        public static void main( String ... a ) {
            for (int i = 0;
         }
    }

    Luego discutimos si tiene algún valor este tipo de preguntas y/o si alguien que se tarda más de 10 minutos o le toma varios intentos vale la pena ser considerado continuar siendo entrevistado.

    Necesito de su ayuda compañeros

    Hola Buen Dia o Tarde segun me lean soy nuevo en java y poco a poco he empesado a empaparme ahora eoy trabado con el try y catch que mi programa ejecute una eception cuando introduscan mal un dato si es int que sea int y no String u otro tipo como puedo hacer eso les dejo mi codigo y cualquier comentario bueno o malo sera muy bien recibido

    public class Computadora {
       
    //DEFINICION DE ATRIBUTOS

        private String Marca;

        private String Modelo;

        private double Precio;

        private String color;

        private String Procesador;

        private String DiscoDuro;

        private String MemoriaRam;

        private int NumSerie;

       

      //DEFINICION DE LOS METDOS SET Y GET

       public void setMarca(String Marca)

       {

           this.Marca=Marca;

       }

       

       public String getMarca()

       {

           return this.Marca;

       }

       public String getModelo() {

            return Modelo;

        }

       public void setModelo(String Modelo) {

            this.Modelo = Modelo;

        }

        public double getPrecio() {

            return Precio;

        }

        public void setPrecio(double Precio) {

            this.Precio = Precio;

    Ceylon: Interoperabilidad con Java

    Ceylon nos permite la interoperabilidad con Java, podemos importar sus librerías e integrarlas a nuestro código. En este post haremos un ejemplo de como importar librerías de Java a nuestro código Ceylon.

    En este caso no usaremos ningún IDE, usaremos la consola de comandos (en mi caso uso Linux). Crearemos una estructura de directorios similar a esta:

    Tendremos estos tres archivos con la extensión *.ceylon:

    1. run.ceylon
    2. module.ceylon
    3. package.ceylon

    Dentro de cada archivo escribiremos:

    run.ceylon

    shared void run(){
       print("Importando librerias de Java en Ceylon");
    }

    module.ceylon

    module holaCeylon "1.0.0"{
        import java.base "7"; // se debe tener instalada la versión 7 del JDK
    }

    package.ceylon
    shared package holaCeylon;

    Ahora volvemos al archivo run.ceylon e importamos la librería java.util.HashMap de Java.

    Diferencia entre dos fechas (Java 8)

     

    ¿Recuerdas un evento importante pero no recuerdas qué edad tenías? ¿Quieres saber cuánto tiempo ha transcurrido entre dos fechas? ¿No quieres lidiar con java.util.Calendar?

    En ese caso, tal vez quieras usar Date and Time API (Java 8). Ejemplo:

    import static java.time.temporal.ChronoUnit.*;

    import java.time.chrono.ChronoLocalDate;
    import java.time.chrono.ChronoPeriod;
    import java.time.format.DateTimeFormatter;

    public class Main {
        public static void main(String[] args) {
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
            ChronoLocalDate from = ChronoLocalDate.from(formatter.parse("01/01/2000"));
            ChronoLocalDate to = ChronoLocalDate.from(formatter.parse("01/01/2015"));
            ChronoPeriod period = ChronoPeriod.between(from, to);
            System.out.printf("%d años, %d meses y %d días", period.get(YEARS), period.get(MONTHS), period.get(DAYS));
        }
    }

    Ver demo en línea.

    ¡Por si sirve de algo!

    Login con Facebook parte 1

    ******************************

    Aquí pueden ver la segunda parte del tutorial: Login con Facebook parte 2 http://paraisodeldesarrollador.blogspot.mx/2015/04/login-con-facebook-pa...

    ******************************

    En estos tiempos son cada vez más los sitios web en los que te permiten realizar la autenticación por medio de redes sociales siendo Facebook la más usada para tal fin, en este pequeño tutorial vamos a realizar la conexión para poder autenticarnos a una aplicación externa con nuestra cuenta de Facebook.

    Al momento de la realización del tutorial ocupamos las siguientes versiones: Grails 2.4.4 y Java 1.7

    Crearemos un nuevo proyecto exclusivamente para este ejemplo, en el, lo primero que debemos realizar es la instalación y configuración de Spring Security Core, una opción es como lo muestro aquí (Configurar Spring Security Core Plugin).
    Este tutorial lo vamos a dividir en dos partes, esta primera, la cual consta de las configuraciones que debemos realizar en Facebook para dejar “lista” una aplicación para poder loguearnos y la segunda que tratara sobre el código en nuestra aplicación para enlazar el formulario de login de Facebook.

    Creando una nueva aplicación en Facebook

    1.- Entrar a la url https://developers.facebook.com, la cual al momento de realizar este tutorial muestra lo siguiente:

    Inicializadores (Inicializadores de Instancia)

    Continuando con el post anterior sobre bloques estáticos, pero ahora toca definir los usos, ventajas y desventajas de los inicializadores tambíen conocidos como "inicializadores de instancia", como se puede deducir estos bloques están dedicados para colocar bloques de código para inicializar variables que pertenezcan a la instancia.

    Los inicializadores de instancia son bloques de código que pertenecen a la instancia, y se declaran dentro de la clase entre llaves como a continuación se muestra en el siguiente código:

    package com.ejemplos.inicializadores;

    public class Ejemplo1 {

            {
                    System.out.println(this.getClass().getSimpleName());
            }

            Ejemplo1() {
                    System.out.println("Constructor");
            }

            public static void main(String[] args) {
                    new Ejemplo1();
            }

            {              
                    System.out.println(this.getClass().getName());
            }

            {
                    System.out.println(this.getClass().getSuperclass());
            }

    }

    Salida:

    Ejemplo1
    com.ejemplos.inicializadores.Ejemplo1
    class java.lang.Object

    Constructor

    Obtener el Valor seleccionado de im combo BOx

    Hola que tal amigos de java México saben tengo una pregunta.
    ¿Como obtener el id del item seleccionado?

     @Override
        public void itemStateChanged(ItemEvent e) {
            if (e.getSource() == viEva.cbArea) {
                viEva.cbAspecto.removeAllItems();
               
                String selec =viEva.cbArea.getSelectedItem().toString();
                Object obj = viEva.cbArea.getSelectedItem();
               // System.out.println("ID "+ obj.);
               String slq = "SELECT IdAspecto, Aspecto FROM Aspecto JOIN Area ON Aspecto.IdArea = Area.iDarea WHERE Area='" + selec + "';";

                viEva.cbAspecto.setModel(md.LlenarIndiceCombos(slq));
            }

        }

    el debugear veo que la variable

    obj

    tiene las propiedades de valor y de id, pero no encuentro la manera de como acceder a esas propiedades.
    el metodo con el que lleno los combos es el siguiente

    public DefaultComboBoxModel llenarComboIndiceValor(String sql) {
            result = consultarSQL(sql);
            modeloCombo = new DefaultComboBoxModel();
            int cont = 0;
            String col[]= new String[2];
            try {

    Comunicación asíncrona entre procesos Java

    En este post de jpaul estuve comentando acerca de algunas de las broncas de RMI, y de cómo hay opciones más eficientes para cuando se necesita implementar comunicación eficiente entre dos aplicaciones Java, usando algo similar a RMI.

    Primero que nada, quiero mostrar cuál es el problema concreto con RMI: cada llamada que se recibe en la aplicación que publica el componente, se hace en un hilo separado. Para demostrar esto, tomé el ejemplo original y lo modifiqué un poco: El servidor tarda un poco de tiempo, y también imprime el nombre del hilo actual y el número total de hilos activos:

    Random rng = new Random(System.currentTimeMillis())

    Remote stub = UnicastRemoteObject.exportObject(new TestRemote() {
      @Override
      public String sayHello(String name) throws RemoteException {
        println "Corriendo en ${Thread.currentThread().name} total ${Thread.activeCount()}"
        if(rng.nextBoolean())Thread.sleep(10)
        return "Hello, " + name;
      }
    }, 0);
    def registry = LocateRegistry.createRegistry(Registry.REGISTRY_PORT);
    registry.bind("Test", stub);
    println "Escuchando..."

    Bloques estáticos

    Hace poco tuve una conversación con un amigo acerca del uso de bloques estáticos y pues sabíamos muy poco de ellos, dicha platica nos hizó investigar más sobre el tema, lo cual originó que escribierá sobre usos, ventajas y desventajas de los bloques estáticos:

    Primero toca definir que es un bloque estático: también conocido como inicializador estático es aquel bloque de código que pertenece a una clase o interface y se define entre llaves de código precedidas por la palabra reservada static como se presenta el siguiente fragmento de código:

        public class Ejemplo{

             static int numero;        

             static{
                 System.out.println("Esto se imprime dentro de un bloque estático o inicializador estático");
                 numero = 10;
             }
             
            public static void main(String [] args){
                 
            }
        }

    Distribuir contenido