Tutorial Java – Consulta por Navegacion de Registros con Swing (Videos)


Tutorial Java

Puedo afirmar, que éste artículo corresponde al primero donde realmente cumplo lo prometido. Así es, aquí es donde te muestro en 3 simples videos cómo realizar una consulta por navegación de Registros.

No es la única forma de hacer, pero si es obligatorio que la conoscas, pues si tienes una aplicación deberás implementarla ya que algunos están acostumbrados a ver que registros viene antes y despues del registro actual.

Los videos los tube que dividir en 3 partes, ya que cómo sabes en Youtube no se puede levantar videos muy grandes.

Espero que el contenido de este video tutorial te sea útil y que lo implementes desde ya, para poder practicar los siguientes videos que voy a ir presentando.

Si tienes dudas, escribe un comentario, yo mismo estaré contestando tus dudas.

Un cordial Saludo,

Marcos Jara

Esta entrada fue publicada en Uncategorized y etiquetada , , , , , , , , , , . Guarda el enlace permanente.

83 respuestas a Tutorial Java – Consulta por Navegacion de Registros con Swing (Videos)

  1. Diego Armando dijo:

    Hola!!!
    Estoy desarrollando una aplicación y viendo el tutorial se parece a la mia en una parte para la navegacion de registros pero el detalle que tengo es que yo la estoy desarrollando en netbeans podrias auxiliarme con eso trabajo sobre el mismo servidor MySQL ya tengo mi conexión…..

    Gracias

    • Marcos Jara dijo:

      Hola Diego,

      Por supuesto que sï, vamos a intentarlo…

      En que parte tienes problemas.

      • Diego Armando dijo:

        Pues veras intente implementar el código que tu empleas pero pues netbeans no me reconoce debido que yo hago mi conexion desde mi frame asi:
        static Connection conn = null;
        static Statement st = null;
        static ResultSet rs = null;

        static String bd =”syspts”;
        static String login =”root”;
        static String password =””;
        static String url =”jdbc:mysql://localhost:3306/”+bd;

        public static Connection Enlace (Connection conn) throws SQLException
        {
        try
        {
        Class.forName(“com.mysql.jdbc.Driver”);
        conn = DriverManager.getConnection(url,login,password);
        }
        catch(ClassNotFoundException c)
        {
        JOptionPane.showMessageDialog(null,c);

        }
        return conn;
        }
        entonces no se como implemetar la parte donde declaras
        ControladorBD.addSql(sql) y lo que sigue

      • Marcos Jara dijo:

        Diego,

        Utilizar el ControladorBD, es muy fácil, pues justamente ya encapsula toda esa cosa complicada de la conexion y recordset, por la cual tu no tienes que escribir nada de eso en tu codigo.

        Centrate exclusivamente en la sentencia SQL.

        Lo que te recomiendo es el Test de Conexion dentro del NetBeans, e intentar ejecutar un comando SQL en el Servidor,

        AQUI podrás ver el ejemplo más basico del uso del Controlador BD con Test de Conexión

        También es recomendable seguir cada tópico de la guía que estoy enseñando de forma ordenada para entender de que se trata todo, siguelo desde AQUI.

  2. Diego Armando dijo:

    Muchas Gracias!!!
    Ahora trabajare sobre lo que me recomiendas….
    Si tengo alguna otra duda espero no incomodarte

    • Marcos Jara dijo:

      Al Contrario Diego, estaré contento de ayudarte siempre y cuando pueda, en todo lo relacionado con la creación de formularios Swing con acceso a Base de DAtos

      Coméntame luego si te funciono el ControladorBD en NetBeans, ya que estoy interesado también.

      Saludos.

  3. Diego Armando dijo:

    Hola Marcos!
    Como estas? veras.. estuve intentando lo del controladorBd en Netbeans veo que es de mucha utilidad, pero debido a que nunca había trabajado de esa manera me surgieron mas dudas ya que no se q poner en mi clase “controladorBd”, en las ligas que me dejaste yu anexas una cunsulta para insertar un registro en la base de datos pero ya le pones los valores, es decir para que funcione con los elementos swing desde mi aplicación que tiene q llevar mi clase “controladorBd”, solo anexe los metodos que netbeans me pedia los cuales son:

    static void addSql(String sql) {
    throw new UnsupportedOperationException(“Not yet implemented”);
    }

    static void execute() {
    throw new UnsupportedOperationException(“Not yet implemented”);
    }

    static boolean finRecordSet() {
    throw new UnsupportedOperationException(“Not yet implemented”);
    }
    Ojala me puedas auxiliar con esto

    • Marcos Jara dijo:

      Claro que te voy a ayudar sin problemas, pero Diego creo que te estas complicando con algo completamente innecesario.

      Es muy sencillo y te voy a dar los pasos básicos para que lo puedas hacer de inicio a fin ok? luego me avisas si te funcionó.

      1. Ingresa a tu NetBeans, yo estoy utilizando la version 6.9.1
      2. Crea un nuevo proyecto, selecciona la opcion de Java Desktop Application, luego solo next, next…finish
      3. En tu proyecto, aparece un carpeta que dice Libraries, presiona clic derecho sobre el mismo y selecciona la opcion que dice Add JAR/Folder… y alli busca y selecciona la API ControladorBD-1.x.jar que bajaste de mi pagina.
      4. Adiciona un nuevo archivo a tu proyecto, selecciona la opcion del Arbol que dice Swing GUI Forms, luego JFrame Form, luego solo next, next… finish.
      5. En el archivo recientemente creado, el JFrame, visualiza el Código Fuente, hay un boton que dice SOURCE en la barra superior.
      6. En el Constructor de tu clase JFrame, escibe lo siguiente:

      Controlador, luego presiona la tecla CTRL+ESPACIO,

      te va aparecer la opcion para el ControladorBD desde donde ya puedes utilizarlo así como muestro en los videos tutoriales con eclipse, de aqui para delante ya es igual de lo que muestro.

      No te olvides de que para que te funcione la conexion hay otros dos archivos que tienes que tener en cuenta, uno de ellos es el driver del mysql, el cual tienes que hacer el mismo paso 3, para agregar al Libraries de tu proyecto, y el otro es el archivo de properties que contiene los datos de la conexión el cual tiene que estar en el paquete por defecto.
      No se si tu problema sea NetBeans, si lo es, utiliza mejor el eclipse hasta aconstumbrarte.

      Espero te sirva y aguardo comentarios.

      Un cordial Saludo.

  4. Diego Armando dijo:

    Muchas Gracias!!!
    Identifique algunas cuestiones que no había contemplado entre una de ellas es que no descargue la API ControladorBD, por lo que ya estoy retomando el tutorial desde el principio, solo que tu enlace para descargar la API no funciona ya, disculpa las molestias pero si me lo puedes enviar por correo te lo agradeceria infinitamente este es mi mail: dadvisc@gmail.com

    Después de dedicarme a analizar todo desde el inicio debo decirte que es el mejor tutorial que me he encontrado así que mis felicitaciones, admiro la grandeza que tienes para compartir tus conocimientos ojala sigas asi ya que pocas personas comparten lo que saben de esta manera

    Saludos!!!!!

    • Marcos Jara dijo:

      Gracias Diego,

      De hecho éste BLOG lo cree pensando en ayudar a personas que como tú, que están deseosas de Implementar Aplicaciones con Tecnología Java e intento hacer siempre lo más práctico posible pero a su vez informativo.

      Lo ideal es seguir completo el tutorial, de inicio a fin, pues en el índice están bien ordenados los tópicos, de forma que uno pueda realmente al finalizar todos los artículos del tutorial Crear formularios con acceso a Base de Datos en Java/Swing.

      También es para ayudar que siempre en cada Artículo pido que dejen comentarios, así puedo ir mejorando y saber que cosas puedo cambiar para ayudar aún más.

      Gracias también por avisar sobre la API que no descarga, la verdad no me habia dado cuenta que daba error al intentar bajar, lo voy a verificar…

      Saludos

  5. Diego Armando dijo:

    Hola!!!
    Ya llegue a esta parte solo tengo una duda!!!
    porue el controladorbd no me identifica los metodos
    getTCodigo()
    getTDescripcion()
    getString()

    TCodigo y TDescripcion son el nombre de tus textfield, que en mi caso serian idft y cm
    que estoy haciendo mal????

    • Marcos Jara dijo:

      Hola Diego,

      getTCodigo(), getTDescripcion y getString() no son métodos del Controlador, AQUI te paso la documentación de la API para que puedas ver todos los métodos que posee.

      Así como mencionas, son del textfield del formulario, en tu caso tendrías que ver cómo maneja eso el netbeans.

      Si no te funciona, enviame el error que te aparece, o la excepcion si es el caso, para poder ayudarte.

      Saludos

      • Diego Armando dijo:

        Hola Marcos aqui dando lata nuevamente… No he podido implementarlo en NetBeans el error que me aparece es:
        “Error en la BD not yet Implemented”

        Espero puedas darme alguna sugerencial al respecto..
        Saludos y que tengas un excelente inicio de semana

      • Marcos Jara dijo:

        Hola Diego,

        Si, sólo que para poder ayudarte necesítarías que pegues el código de tu Clase, o mejor dicho de tu método donde estas intentando ejecutar, así como también que me aclares en que momento te aparece el error.

        Estare aguardando.

  6. Diego Armando dijo:

    Este es el codigo que pongo en el action peroformed del boton:

    private void ranteriorActionPerformed(java.awt.event.ActionEvent evt) {

    //CODIGO PARA LA NAVEGACION DE REGISTROS
    String pri = idft.getText();
    String sql = "SELECT * FROM fija_telmex WHERE idtf < "+pri+"ORDER BY idft DESC LIMIT O,1";
      try {
        ControladorBD.addSql(sql);
        ControladorBD.execute();
        if(ControladorBD.finRecordSet()) {
          idft.setText(ControladorBD.getInt("idft").toString());
          //cm.setText(ControladorBD.setText("Cta_Maestra"));
        }
      } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Error en la Base de Datos "+e.getMessage());
        e.printStackTrace();
      }

    // TODO add your handling code here:
    }

    El error me lo da una vez corriendo mi interfaz, al momento de presionar el boton me manda el error que anteriormente te puse, esto es, quiero suponer por los metodos que me faltan y q en eclipse los declara automaticamente.

    • Marcos Jara dijo:

      Bien Diego,

      El código está correctamente implementado, ese es el camino, ahora te hago una pregunta.

      Te cuento que yo probé en el Netbeans, lo hice y me funcionó, por eso considero que es algún detalle que te está faltando…

      Verás, en la consola aparece el error completo de la excepción verdad?

      Daría para enviarme eso también, para saber en que linea mismo está dando la excepcion. Sinceramente no creo que sea algo de la BD.

      Aguardo.

      • Diego Armando dijo:

        Exacto sabes estoy analizando esta parte, porque en solucionando esto puedo dar seguimiento con lo demas q brindas aqui, el error que me manda en consola es el siguiente (es demasiado):
        java.lang.UnsupportedOperationException: Not yet implemented
        at syspts.ControladorBD.addSql(ControladorBD.java:15)
        at syspts.fija_telmex.ranteriorActionPerformed(fija_telmex.java:1197)
        at syspts.fija_telmex.access$300(fija_telmex.java:16)
        at syspts.fija_telmex$4.actionPerformed(fija_telmex.java:413)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6267)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6032)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
        java.lang.UnsupportedOperationException: Not yet implemented
        at syspts.ControladorBD.addSql(ControladorBD.java:15)
        at syspts.fija_telmex.ranteriorActionPerformed(fija_telmex.java:1197)
        at syspts.fija_telmex.access$300(fija_telmex.java:16)
        at syspts.fija_telmex$4.actionPerformed(fija_telmex.java:413)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6267)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6032)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

        TENGO LA LIGERA SOSPECHA QUE NO ESTOY HACIENDO LAS COSAS BIEN EN LA PARTE DEL if(ControladorBD.finRecordSet)

  7. Diego Armando dijo:

    He podido solucinar un detalle de lo anterior pero ahora me manda esto creo q es mas claro
    java.util.MissingResourceException: Can’t find bundle for base name controlador-bd, locale es_MX
    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427)
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250)
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:705)
    at com.properties.util.LeePropiertes.leeID(LeePropiertes.java:10)
    at com.tutorialjava.bd.ControladorBD.(ControladorBD.java:33)
    at com.tutorialjava.bd.ControladorBD.getInstance(ControladorBD.java:42)
    at com.tutorialjava.bd.ControladorBD.addSql(ControladorBD.java:212)
    at syspts.fija_telmex.ranteriorActionPerformed(fija_telmex.java:1198)
    at syspts.fija_telmex.access$300(fija_telmex.java:17)
    at syspts.fija_telmex$4.actionPerformed(fija_telmex.java:414)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    at java.awt.Component.processMouseEvent(Component.java:6267)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:6032)
    at java.awt.Container.processEvent(Container.java:2041)
    at java.awt.Component.dispatchEventImpl(Component.java:4630)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
    at java.awt.Container.dispatchEventImpl(Container.java:2085)
    at java.awt.Window.dispatchEventImpl(Window.java:2478)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    No se si tengas un correo en hotmail para platicar por ese medio. Por si se te hace complicado por aqui

    MIL GRACIAS MARCO

    • Marcos Jara dijo:

      Perfecto Diego,

      El tema del if esta correctamente implementado!

      Ya se cual es el problema, y es un problema común, incluso si trabajas en el eclipse.

      Es que te falta el archivo properties que contiene los datos de la conexion a la BD.

      Ese archivo tiene que estar en el (default package) y se tiene que llamar exactamente así: controlador-bd.properties. —> puedes ver el ejemplo de su contenido en el artículo de teste de conexión # 1.

      Por si ya tengas ese archivo dentro de tu proyecto y aún no te funciona, es por que no está en el default package, nota que hay una diferencia entre estar en el proyecto y estar en el default package. Si es así lo solucionarás cambiando de ubicación el archivo.

      Diego, me gustaría seguir comunicandome por éste medio, es que ésta información le puede ayudar a otros desarrolladores que también quieran utilizar Netbeans así como tú.

      Estaré aguardando noticias si te funcionó o no.

      Saludos.

      • Diego Armando dijo:

        Ok Hice los pertinentes cambios pero no me manda el error
        Can’t find bundle for base name controlador-bd, locale es_MX
        Pase mi controlador a la carpeta raiz en este caso Test Packages donde esta el paquete default package pero me continua mandando el erro mencionado, esto es lo q puse en mi archivo de controlador-bd.properties

        url=jdbc:mysql://localhost:3306/bdproveedores
        usuario=root
        password=””
        driver=org.gjt.mm.mysql.Driver

        Gracias!!

      • Marcos Jara dijo:

        Diego,

        El error:
        Can’t find bundle for base name controlador-bd, locale es_MX
        es por que no se encuentra el archivo de propiedades.

        Tengo entendido que el Test Package no es el (default package), si no creaste paquetes para tu form prueba entonces copiando tu archivo properties en el mismo lugar donde creaste tu Formulario.

        Fijate donde yo lo tengo
        null

        En el archivo, estoy viendo que el password tiene comillas dobles, esto lo puedes retirar.

        Saludos.

  8. Diego Armando dijo:

    Tienes toda la razón, perdón estaba entrando en desesperación mi default package es el src jejeje ya lo coloque ahí, y ya funciona bueno no del todo solo tengo un error en la consulta que se esta ejecutando, analizo la situación y comento sale

    Mil gracias

  9. Diego Armando dijo:

    Listo al parecer todo marcha mejor… solo ahora tengo problemas en mis consultas… por ejemplo para ir a mi primer registro me manda que no puedo usar 0,1 no entiendo el proque y para navegar entre los registros me manda que no puedo usar ORDER BY idft LIMIT 0,1 alguna recomendación respecto a esto

  10. Diego Armando dijo:

    Ya hubique mi error es bueno analizar todo esto, y era por los espacios que tengo entre mis consultas como lo dice casi al final del 3 perdon por las molestias

  11. Carlos dijo:

    Hola prof Marcos en el video nro. 2 de Consulta por Navegacion de Registros con Swing (Videos) escribi es codigo para el boton primero.
    try {
    ControladorBD.addSql(sql);
    ControladorBD.execute();
    if (ControladorBD.finRecordSet()) {
    getTCodigo().setText( ControladorBD.getInt(“ciu_codigo”).toString() );
    }
    } catch (Exception e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }
    me da el error: No se puede invocar toString() en el tipo primitivo int
    estoy usando el 1.1jar
    al buscar el 1.2 lo que encontre fue el 1.3jar al querer utilizarlo me traba el eclipse al invocar el controladorBD. Espero una respuesta prof desde ya muchas gracias

    • Marcos Jara dijo:

      Hola Carlos.

      Bueno, antes que nada lo que te recomiendo es que intentes actualizar tu controlador a la versión 1.3.

      Esto corregirá el problema que tienes con el toString()

      En relacion a que te traba, puede ser por que al agregar la versión 1.3 debes asignarla al classpath(Agregar a la via de construcción) al mismo tiempo de eliminar fisicamente la versión 1.2 de tu proyecto.

      Espero te funcione, pero cualquier duda puedes escribir

      Un cordial Saludo.

  12. Carlos dijo:

    Gracias por la ayuda profe me funciono perfecto saludos…

  13. Ivan Grandi dijo:

    Muy bueno me anduvo perfecto, lo único que le podrías agregar es al botón siguiente y anterior y al lostFocuos, una sentencia if que si el tCodigo esta vació no ejecute la sentencia SQL porque si no tira una excepción.

    Aca dejo un código de ejemplo que le agregue.

    if (!txtCodigo.getText().equals(“”)){
    //Consulta SQL
    }

    Con eso por mas que lo agarre el usuario mas torpe es imposible que tire excepciones a menos que tengas otro error :O jaja.

    Nos vemos

    • Marcos Jara dijo:

      Gracias Ivan por el Aporte,

      Ese error fue corregido agregando un valor inicial de “0” en el cuadro de texto Codigo, con lo cual funciona perfecto sin programación adicional

      La corrección fue realizada en el Video sobre la Consulta combinada por Navegación y JTable que viene despues

      Saludos

      • Edilmar dijo:

        Gracias Marcos, estaba viendo que al presionar el boton: anterior, siguiente o Ultimo mandaba excepciones y como dices agregando un 0 a la propiedad text del textarea se soluciona toda😀

      • Edilmar dijo:

        perdon quizé decir text field en vez de textarea

  14. Monica Ramirez dijo:

    Hola Marcos,

    Primero que nada felicitarte por la gran aportacion y apoyo para los que estamos empezando a programar.
    La calidad y claridad de los tutoriales es excelente.
    Gracias por tu paciencia.
    Estoy siguiendo los videos para implementar la consulta y al igual que el cometario de Diego Armando no se puede bajar al controlador de DB, donde la puedo encontrar o si me harias el favor de enviarmela para poder terminar el ejercicio.
    Mil Gracias

    • Marcos Jara dijo:

      Hola Monica

      Me parece Excelente…!

      El link esta funcionando ahora!, pruebalo de vuelta y me avisas

      Saludos.

      PD:
      A todos los que tuvieron problemas para descargar ultimamente el controlador-bd, les pido mil disculpas. Eso se debió a un problema que tuve con la empresa de hosting y que por fin ahora está solucionado debido a que lo levanté en Google Code.

  15. Ricardo Benitez dijo:

    Hola marcos, por tu acento puedo notar de que eres paraguayo, o me equivoco? si es asi no sabes lo orgulloso que me siento como paraguayo de esto que haces, se nota que tienes grandes conocimientos y es aporte grandicimo para cualquier programador java.
    Soy principiante, estoy siguiendo el tutorial que esta muy bueno, nada mas me queda felicitarte, te escribo desde New York.

    Un abraso.

  16. Erika dijo:

    Hola Marco

    Primero que nada, muchas gracias por facilitarnos este tutorial, me está siendo de gran ayuda.
    Al igual que Diego Armando tengo problemas para utilizar el controladorBD, también uso NetBeans, se supone que la conexión la hace de manera exitosa. Trato de realizar una consulta pero en la tabla no me muestra nada, el error que me envía es el siguiente:

    –>jdbc:mysql://localhost/BD_ADMINISTRACION – root –
    Conexion realizada con exito!!
    10/03/2011 06:51:00, @1fee6fc, SELECT * FROM cliente ORDER BY apPaterno
    java.lang.NullPointerException

    • Marcos Jara dijo:

      Como ya lo he comentado anteriormente, no es problema del NetBeans…

      Debe ser otra cosa.

      Podria ayudarte si envias el log completo de error, incluido el trozo de codigo que intentas ejecutar.

      Saludos

      • Erika dijo:

        Bien Marcos

        Para probar el controlador BD, intento hacer ejecutar una consulta que me extraiga todos los registros de la tabla:

        private void recuperarDatos(){

        String sql = “SELECT * FROM cliente ORDER BY apPaterno”;
        try {
        ControladorBD.addSql(sql);
        ControladorBD.execute();

        while (ControladorBD.finRecordSet()){
        System.out.println((ControladorBD.finRecordSet()));
        String[]registro = {ControladorBD.getInt(“nombres”).toString(),
        ControladorBD.getInt(“apPaterno”).toString(),
        ControladorBD.getInt(“apMaterno”).toString(),
        ControladorBD.getInt(“estado”).toString()};

        modelo.clientes.add(registro);

        }
        } catch (Exception e) {

        System.out.println(e);
        }

        Como Resultado de lo anterior, me resulta lo siguiente:

        –>jdbc:mysql://localhost/BD_ADMINISTRACION – root –
        Conexion realizada con exito!!
        10/03/2011 07:42:55, @187aeca, SELECT * FROM cliente ORDER BY apPaterno

        java.lang.NullPointerException

  17. José dijo:

    Hola Marcos.
    Quería felicitar y darte las gracias por este tutorial.
    Esta muy bien explicado y resulta de mucha utilidad la información que transmites.
    En la mayoria de los cursos y sitios web es todo más teórico.
    Por el momento pude realizar con exito todos los puntos del tutorial, espero continuar asi y seguir aprendiendo.

    Nuevamente te agradezco que compartas tu experiencia.

    Saludos

    • Marcos Jara dijo:

      Hola Jose,

      Sé que no es fácil tomarse el tiempo para escribir por eso te agradezco los comentarios ..

      Puedes suscribirte para ir recibiendo los siguientes materiales que voy a subir.

      Saludos.

  18. Elvio Cesar dijo:

    Hola Marcos.

    Excelentes videotutorial!!

    Me siento orgulloso por que seas Paraguayo.

  19. adolfo angel dijo:

    oye soi nuevo en java y como hago para que me aparesca una clase visual para poder crear mi formulario

  20. Julian Buitrago dijo:

    Buenas noches,

    Veo que en la conexion a la bd usas mysql y muetras la comunicacion de mysql, me gustaria saber cual seria la comunicacion si tengo la bd trabajandola en Oracle 10g Express Edition para poderlo manejar con el Controlador-bd me parece muy interesante ya que ahorra muchas lineas de codigo.

    Agradezco su pronta respuesta.

    • Marcos Jara dijo:

      Hola Julian

      Uff, eso seria un poco dificil solamente por que no poseo instalado el Oracle.

      Pero es lo mismo eh, solo tienes que cambiar el driver y el connection String.

      Cuentame si luego te funcionó despues y lamento no poder ayudarte con eso.

      Saludos.

  21. LUIS ALFONSO GALLEGO MURILLO dijo:

    Profe hice todo lo del tutorial ConsultaCiudades y al ejecutar me salio esto:

    at Consultaciudades.(Consultaciudades.java:31)
    … 19 more

    Que hago.

    • Marcos Jara dijo:

      Hola Luis,

      Bueno, son pocos datos los que me pasas para poder ayudarte,

      enviame todo el log de la consola de error, para poder decirte exactamente donde se encuentra el error

      Estare aguardando.

      Saludos

  22. Gilberto dijo:

    Que tal Marco de nuevo te felicito por el excelente tutorial y te molesto con otra pregunta, sabes tu porque razón cuando me ubico en el primer registro y le doi clic al botonAnterior a mi me manda un nullPointer, parece obvio porque hace un where menor a 1 y no existe, sin embargo en tu app no te da problemas con eso, al igual pasa cuando estoy en el ultimo registro y doy clic en botonSiguiente, espero puedas ayudarme…

    saludos y gracias de antemano!

  23. fidias dijo:

    Marcos muchas gracias por tu espíritu de colaboración, por darnos un poco de tu conocimiento de verda muuuuuuuuuuuuchas gracias.

    Tengo dos preguntas la primera:
    como hago para validar “Jtextfield” del “código” que cuando ingrese una letra me aparezca un mensaje que diga digite un numero o no deje ingresar letras por ejemplo.

    También le hice una peque actualización le agregue un código que cuando no encuentra el registro manda un cuadro de dialogo que dice el registro no existe y borra lo escrito esto lo hice en el “focusLost” después del “if” le agregue el “else” mi segunda pregunta es como hago para que después de borrar lo escrito deje el foco en la caja de texto

    muchas gracias por tu Atención

    • Marcos Jara dijo:

      Hola

      Excelente! respecto a tus preguntas
      El JTextField puedes validarlo manejando la Excepción NumberFormatException con la sentencia try-catch

      Ej.:

      int valorDigitado;
      try{
      valorDigitado = Integer.parseInt( getTCodigo().getText() );
      } catch (NumberFormatException e)
      JOptionPane.show….(“Digite un número o no ingrese letras”);
      }

      Es como para darte una idea, esto podrias hacerlo antes de utilizarlo directamente en tu sentencia.

      Saludos

  24. Emi dijo:

    Hola,
    Gracias por habernos ayudado con este magnifico tuturial.
    Tengo una pregunta, ya hemos logrado hacerlo, pero el problema que no se ejecuta en otro ordenador, ¿por qué?

    • Marcos Jara dijo:

      En ese caso me podrías enviar el error que te aparece.

      Se tiene que poder conectar sin problemas.

      Seguramente es por que tu mysql no está aceptando conexiones externas, si es así hay que crear un usuario nuevo que pueda ser accedido desde otra pc. . por ej. root@%

      El % indica cualquier maquina.

      Suerte y saludos

  25. Emi dijo:

    Hola de nuevo,
    como se hace eso?( lo de crear un usuario nueva)
    Gracias y saludos

  26. Ld.beck dijo:

    Hola,
    gracias por haber echo este post, sirve de mucho…
    mire estoy realizando un ejercicio muy parecido al de los videos pero me sale el siguiente error:
    java.util.MissingResourceException: Can’t find bundle for base name controlador-bd, locale es_EC
    at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
    at java.util.ResourceBundle.getBundleImpl(Unknown Source)
    at java.util.ResourceBundle.getBundle(Unknown Source)
    at com.properties.util.LeePropiertes.leeID(LeePropiertes.java:10)
    at com.tutorialjava.bd.ControladorBD.(ControladorBD.java:33)
    at com.tutorialjava.bd.ControladorBD.getInstance(ControladorBD.java:42)
    at com.tutorialjava.bd.ControladorBD.addSql(ControladorBD.java:212)
    at princi$1.actionPerformed(princi.java:81)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    ya he realizado 2 veces el mismo ejercicio para ver si en algo estoy fallando,
    incluso verifique con el problema similar que citan más arriba.

  27. lenin dijo:

    Por alguna razon profe no sale la img..
    “http://www.freeimagehosting.net/9024a”
    esa es la url de la img del proyecto he estado realizando..
    no se si tiene q ver algo q tengo un controlador de mysql el 5.1.??

  28. Ld.beck dijo:

    Buenos Días profe Marcos,
    ya solucione el inconveniente,
    borre el driver 5.1 q ya lo tenia (al parecer la sentencia en el controlador-bd.properties cambia al poner el 5.1) y le puse el 3.1..
    y todo bien, funciona de maravilla!

  29. guatenais dijo:

    Que tal como estas espero que bien, mi duda es la siguiente, fijate que yo tengo un ArraList de mi objetos mi pregunta es como le puedo hacer con los botones atras siguiente ultimo primero, ya que cuando hago mi ciclo para recorrer el array me muestra solo el ultimo valor del array, bueno te cuidas y espero me hayas entendido.

    • Marcos Jara dijo:

      Hola Guatenais

      Bueno, entiendo mas o menos.

      Lo que tienes que hacer es almacenar en una variable el indice del array que estas recorriendo, y si quieres navegar a los registros te vas sumando o restando de acuerdo hacia donde quieres irte,

      Si no es eso, avisame y vemos como resolvemos.

      Saludos

  30. prago ver dijo:

    hola Marcos buenos dias

    esta muy interensante tu tutorial …
    bueno yo he manejado los datos de otra manera, es decir los descargo en una array y de ahi los controlo

    ahora bien … en tu ejemplo … veo que por cada vez que presiones un boton se realiza una consulta SQL …
    mi pregunta o duda es …. que tanto hago trabajar a mi servidor de datos, ya que si es una soloa pc que se conecta no le veo problema … pero si son varias maquinas … sera que lo alente tantas consultas ???

    de antemano te agradezco tu atencion a mi comentario

    buen dia

    • Marcos Jara dijo:

      Hola Prago,

      Buena consulta!

      De hecho eso es algo que tienes que analizar y ver antes de desarrollar cualquier aplicación, todo depende de la necesidad de la aplicacion en cuestion.

      La forma que yo propongo es una, tu tienes otra forma..

      De la forma como lo haces tú, yo también te puedo preguntar por ejemplo: si traes todas las consultas de una sola vez para manejarlas de forma local..¿Como te aseguras de que estas manejando los registros reales? es decir, mientras tu manejas los datos desde el array otros usuarios ya pudieron haber modificado unos cuantos datos e incluso pudieron haber borrado algunos, ¿y tú ? ¿Como actualizas esos datos?

      En fin, todo depende de como y donde va funcionar tu aplicacion, y cuál será su finalidad principal? ambas son soluciones factibles y ninguna de ellas está mal.

      Saludos.

  31. Julian Feliz dijo:

    saludos,
    estaba tratando de hacer este mismo tutorial pero en eclipse indigo 64its y como quizas sepan no eh podido encontrar soporte para Visual Editor por lo que decidi usar window builder,
    hice el tutorial que se menciona en los videos sobre los controladores y todo lo de la base de datos y me eh encontrado con mi primer error y es cuando estoy escribiendo la siguiente linea
    “getTCodigo ().setText(ControladorBD.getInt(“ciu_codigo”).toString());”
    me tira error en “getTCodigo” viendo el video veo que inmediatamente escribir eso y ponerle punto automaticamente cargan las demas opciones,, ami no me hace esto,, cual creen que seria el error?..
    todo lo demas me funciona ,, gracias de antemano

    • Marcos Jara dijo:

      Hola Julian

      Bueno, el Window Builder debe ser un poco diferente al Visual Editor,

      Te comento que estos tutoriales los estoy desarrollando practicamente de manera 100% práctica, lo que significa que los seguidores deben manejar los conceptos de la programación java y la orientación a objetos, por ejmplo, todo lo relacionado a los atributos y métodos.

      Tendrías que ver la forma de recuperar el campo codigo sinonimo a la forma como lo hago yo en el visual editor.

      Saludos

  32. Miguel dijo:

    Marcos es lo mismo programar en Netbeans y eclipse?? O utilizan codigos distintos??
    Gracias desde ya

    • Marcos Jara dijo:

      Es básicamente lo mismo,

      Lo que no me gusta del NetBeans es que adiciona codigo embedido e independiente para la creación de los formularios, pero bueno, es algo que ellos hacen así quien sabe por qué (Nada que ver con OOP) más parecido a un framework.

      Saludos.

  33. cristhiam dijo:

    Hola profe he estado poniedo en practica este curso, pero me encuentro en un problema por ello no puedo seguir adelante, 1 cree la base de datos en mysql, luego fui a la aplicación java, implemente el código de conexión a la BD. En otras palabras he seguido todos los pasos en orden, la situación es q al ejecutar el formulario se da sin inconvenientes, pero al querer ir al primer registro de la tabla ciudades(dando clic en el 1 boton), me da error, pienso q talves sea la versión del ECLIPSE que estoy usando, aclarando que ya lo tenía instalado en mi compu desde mucho tiempo, esta es la versión 1.2.2(BUILTON) creo q es la 2; le presento el error que me sale en consola:

    Exception in thread “AWT-EventQueue-0” java.lang.UnsupportedClassVersionError: Bad version number in .class file
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    at ConsultaCiudades$1.actionPerformed(ConsultaCiudades.java:96)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    at java.awt.Component.processMouseEvent(Component.java:5488)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
    at java.awt.Component.processEvent(Component.java:5253)
    at java.awt.Container.processEvent(Container.java:1966)
    at java.awt.Component.dispatchEventImpl(Component.java:3955)
    at java.awt.Container.dispatchEventImpl(Container.java:2024)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    at java.awt.Container.dispatchEventImpl(Container.java:2010)
    at java.awt.Window.dispatchEventImpl(Window.java:1778)
    at java.awt.Component.dispatchEvent(Component.java:3803)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

    por fa alguna solución a esto, esperare alguna informacion; y si me pide q instale la versión con que usted esta trabajando, le rogaría, q me explique como disinstalar correctamente la versión de java q tengo la 1.2… tengo Windows 7. saludos

    • Marcos Jara dijo:

      Si,

      Es por la version del java que estas utilizando, te recomiendo utilizar la version 6 del java, juntamente con las versiones de las aplicaciones que indico en cada entrada del blog.

      Ahi, te aseguro que va funcionar.

      Saludos

  34. CECILIA dijo:

    Hola Julian, Profe:

    Aquií les dejo el código para los que lo hicieron en Window Builder, solo se trata de indicar el objeto y luego la accion de get tex, para el caso del botonprimero: a mi me funcionó perfecto…
    botonPrimero.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {
    String sql = “SELECT * FROM usuarios ORDER BY id LIMIT 0,1”;

    try {
    ControladorBD.addSql(sql);
    ControladorBD.execute();
    if (ControladorBD.finRecordSet()){
    tCodigo.setText(ControladorBD.getInt(“id”).toString());
    tDescripcion.setText(ControladorBD.getString(“usuario”));
    tContra.setText(ControladorBD.getString(“password”));
    }

    }catch (Exception e1) {
    JOptionPane.showMessageDialog(null, “Ocurrio un error en la BD ” + e1.getMessage());
    e1.printStackTrace();
    }
    }
    }
    );
    botonPrimero.setBounds(35, 161, 67, 39);
    contentPane.add(botonPrimero);

  35. Carlos Ruiz dijo:

    Excelente Profesor, gracias por compartir tus conocimientos con los que queremos introducirnos en este hermoso mundo de la programación, y sobre todo en Java. Yo soy nuevo en Java pero he podido entender todos el transcurso de este maravilloso tutorial. Lo estoy haciendo porque necesito desarrollar una aplicación para un trabajo de grado. Cualquier duda que se me presente espero contar con tu ayuda. Gracias.

  36. ajusco413 dijo:

    hasta ahorita todo me ha salido bien lo de focus, tambien implemente lo de un boton de guardar, utiliznado windows builder….

    mi unico problema fue este java.util.MissingResourceException: Can’t find bundle for base name…. cuando intente conectarme a otra base de datos….
    vi las sugerencias, cheque nombres, cheque donde estaba mi archivo si estaba en la fuente, todo tipo de soluciones… y nadaa cambiaba, eliminaba lo ponia de nuevo y seguia igual…

    tuve que eliminar y volver a iniciar otro proyecto java y hacer paso a paso lo mismo, lo mas raro de todo es que lo hice sin ver el manual como ya lo habia hecho y funciona bien, pero no se que habra pasadoo,, en el otro…

    pero bueno cuando me vuelva a pasar les comento …

    • Marcos Jara dijo:

      Estimado ajusco

      Tienes que revisar tu archivo de configuración donde se almacena la información de la conexión con la base de datos, por que dice que no se encuentra, verifica si escribiste bien el nombre o si está en la ubicación que yo indico en el video.

      Saludos

  37. Washington dijo:

    Saludos
    Estoy iniciando en java, y por favor quisiera saber si para conectarme a oracle puedo utilizar el archivo controlador-db.properties(mas o menos asi
    url=jdbc:oracle:thin:@ASETEMP-VAIO:1521:orcl
    usuario=prodsis
    password=prodsis
    driver=oracle.jdbc.driver.OracleDriver)
    con atento saludo

    • Marcos Jara dijo:

      Se puede conectar sin ningun problema, y la string de conexion está correcta, dependiendo de la ubicación y especificación de la base de datos que quieres accesar.

      Sólamente ten en cuenta que para el oracle se utiliza otro driver, el ojdbcXX.jar.. que puede ser descargado de Internet

      Luego me cuentas como te fue?

      Saludos

  38. Rene Guardado dijo:

    Buen Dia Marcos,
    Felicidades por su obra, me esta siendo mucha utilidad, Tengo experiencia en programacion de Servlets, y hasta ahora necesito conocer de app Java Stand Alone, y me interesa Java Swing.
    Estoy trabajando con MyEclipse Enterprise Workbench Version: 5.0.1 GA y tengo una BD mySql, pero esta en un Hosting de pago. ¿Como seria la arquitectura en este caso? la app la tendria instalada en la maquina del cliente, pero el acceso a la informacion estara en el hosting.
    Le agraderia sus comentarios.

    • Marcos Jara dijo:

      Saludos Rene

      se accede de la misma forma al servidor no importa si la BD esta en tu máquina o en cualquier otro lugar del mundo, sólo tienes que cambiar el valor de la direccion ip o donde dice “localhost” por la dirección ip que te proporciona la empresa de hosting.

      SAludos

  39. Edgar Suarez dijo:

    Hola profesor, es un excelente videotutorial, lo e seguido desde el inicio, y aunque me e topado con algunos problemas e salido adelante con un poco de investigacion (por supuesto) la cuestion donde ya no le e encontrado solucion es que me aparece el siguiente error, espero me pueda orientar para solucionarlo:
    line: 4 Restricción de acceso: The type JFrame is not accessible due to restriction on required library C:\Archivos de programa\Java\jre7\lib\rt.jar
    line: 5 Restricción de acceso: The type JPanel is not accessible due to restriction on required library C:\Archivos de programa\Java\jre7\lib\rt.jar
    line: 6 Restricción de acceso: The type EmptyBorder is not accessible due to restriction on required library C:\Archivos de programa\Java\jre7\lib\rt.jar
    line: 7 Restricción de acceso: The type JButton is not accessible due to restriction on required library C:\Archivos de programa\Java\jre7\lib\rt.jar
    line: 10 Restricción de acceso: The type JTextField is not accessible due to restriction on required library C:\Archivos de programa\Java\jre7\lib\rt.jar
    line: 11 Restricción de acceso: The type JLabel is not accessible due to restriction on required library C:\Archivos de programa\Java\jre7\lib\rt.jar
    line: 18 La clase serializable ConsultaCiudades no declara un campo serialVersionUID final estático de tipo long
    line: 18 Restricción de acceso: The type JFrame is not accessible due to restriction on required library C:\Archivos de programa\Java\jre7\lib\rt.jar
    line: 20 Restricción de acceso: The type JPanel is not accessible due to restriction on required library C:\Archivos de programa\Java\jre7\lib\rt.jar
    line: 21 Restricción de acceso: The type JTextField is not accessible due to restriction on required library C:\Archivos de programa\Java\jre7\lib\rt.jar
    line: 22 Restricción de acceso: The type JTextField is not accessible due to restriction on required library C:\Archivos de programa\Java\jre7\lib\rt.jar
    line: 23 Restricción de acceso: The type JTextField is not accessible due to restriction on required library C:\Archivos de programa\Java\jre7\lib\rt.jar.

    No se si esto tambien me este ocacionando que… cuando tengo ya mis botones y mis frames y lo demas, al momento de correr la aplicacion todo lo que habia colocado en mi frame se borra (botones, etc.) y tengo que volver a ponerlos.

    Muchas gracias por su aportacion, realmente ahora si le estoy entendiendo a.
    P.D. De todos los link que encontre, ninguno esta habilitado para el Visual Editor, e investigando solamente pude instalar el WindowBuilder

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s