style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Usar el JLabel de la clase A en la clase B

Hola,

En la clase A tengo un JLabel donde quiero mostrar el resultado de una consulta, pero no se como obtener este componente en la clase B, siempre obtengo error.

En la clase B tengo esto:

public void displayResult(List resultList) {
        for (Object o : resultList) {
            Usuarios usuarios = (Usuarios)o;
            sb.append(usuarios.getNombre());
        }
            Display.setText(sb.toString());
    }

Este método mostraba el resultado en el JLabel cuando lo tenía en la clase A, pero ahora que he pasado a la B todos los métodos de la base de datos, me marca error en Display.setText()

¿Cómo se soluciona eso?

Saludos

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de JaimeItlzc

Para que

Para que quieres recibir el JLabel si puedes crear uno ahi no mas bien dicho quieres recibir lo que hay en el JLabel que es el resultado no?
Display que es Un JLabel? pon mas codigo si quieres que mas miembros te contesten no son magos para adivinar como tienes estructurado tu codigo.

Saludos

Hola, - en la clase A (es el

Hola,

- en la clase A (es el frame de la ventana principal) hay un JLabel que hace de Display (creo que se llama así, la pantallita de las calculadoras, el teléfono, ...), y lo que quiero es mostrar el resultado de la consulta ahí.

- en la clase B tengo el código que realiza la consulta, el cual debería de mostrar el resultado de esa consulta (rs) en el Display:

 public void executeHQLiniSesion(String hql) {
        try {
            Session session = HibernateUtil.getSessionFactory().openSession();
            session.beginTransaction();
            Query q = session.createQuery(hql);
            List resultList = q.list();
            displayResult(resultList);
            session.getTransaction().commit();
        } catch (HibernateException he) {
            he.printStackTrace();
        }
    }

    public void displayResult(List resultList) {
        for (Object o : resultList) {
            Usuarios usuarios = (Usuarios)o;
            sb.append(usuarios.getNombre());
        }
        String rs = sb.toString();
       
        JLabel jl = APPView.jLabelSesion;
        JTextField tf = APPView.jTextField1;
        tf.setText("");
        jl.setText(rs);
        }

Saludos

Imagen de JaimeItlzc

La verdad que me confundes

Para inciar no de por que usas el Framework Hibernate, pon bien claro que quieres hacer que no entiendo la verdad quieres que ese resultado se vaya a una base de datos?

Y puedes de hay consultar el resultado? Display no es un JLabel es un JTextField Aqui te lo muestro:

        public JTextField getDisplay()
        {
                this.display = new JTextField(JLabel.CENTER);
                display.setText("0");
                display.setPreferredSize(new Dimension(240,30));
                display.setEditable(false);
                return display;
        }

Y porcierto que es lo que estas haciendo por que usar Hibernate?
Saludos.

Hibernate lo uso para el

Hibernate lo uso para el manejo con la bd, ¿por qué, ya no se usa?

No, ese resultado se tiene que mostrar en el JLabel que hace de pantalla (como las calculadoras, http://www.google.es/images?q=display%20de%20una%20calculadora&um=1&ie=U...).

Hay que mostrar el resultado de la consulta que se realiza en la clase B, en el JLabel de la clase A.

Saludos

Solucionado

Tenía que hacer la variable del JLabel, public y static para poder usarla en la clase B, la tenía private.

Gracias y saludos.

Imagen de JaimeItlzc

Display un JLabel?

La mayoria de las calculadores que yo he visto imprementadas en java, usan como display un JTextField date cuenta tu del por que.. no se como tenias estructurado tu codigo si solo tenias un File(.class) o tenias dos pero en diferentes File's.

saludos.

jeje sí ya, las

jeje sí ya, las calculadoras llevan un jTexField, tienes razón , jeje, pero en mi caso no es una calculadora, es un display como el de los teléfonos, es una aplicación que usa jTapi para conectar a una centralita Ericsson utilizando el protocolo H.323.

Disculpa si la explicación no fue muy clara.

Saludos

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">