🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #27146

A�adir componentes dinamicamente a JApplet.

#27146
From: Jose Miguel Martinez
Date: Mon, 19 Oct 1998 00:00
67 lines
2866 bytes
Hola,

Tengo problemas actualizando el interfaz de usuario cuando a�ado
componentes din�micamente. Ya s� que en Swing las actualizaciones del
interfaz han de hacerse en el thread de los eventos, y que en ese thread
no deben hacerse operaciones que lleven mucho tiempo, como acceso a BDs
o cosas similares, pero el c�digo que env�o es mucho mas sencillo, s�lo
tiene operaciones de interfaz, pero no funciona.
 �Alguien sabe como solucionarlo?

Nota: Este mismo c�digo pero con componentes AWT funciona bien (claro
esta en un Applet, no JApplet)

 Muchas gracias.


import java.awt.*;
import java.awt.event.*;
import com.sun.java.swing.*;

public class JRefresco extends JApplet
                          implements ActionListener{

        protected JPanel testPanel1 = new JPanel();
        protected JPanel testPanel2 = new JPanel();
        protected JTextField firstText= new JTextField("First panel");
        protected JTextField secondText= new JTextField("Second panel");

        protected JButton next        = new JButton("Display next
panel");

        protected JButton previous  = new JButton("Display previous
panel");
        protected Container cont;

        public void init() {
            cont=this.getContentPane();
            cont.setLayout(new BorderLayout());
            testPanel1.setLayout(new FlowLayout());
            testPanel2.setLayout(new FlowLayout());
            testPanel1.add(firstText);
            testPanel2.add(secondText);
            next.setActionCommand("next");
            previous.setActionCommand("previous");
            next.addActionListener(this);
            previous.addActionListener(this);
            testPanel1.add(next);
            testPanel2.add(previous);
            cont.add(BorderLayout.CENTER,testPanel1);
        }

        public void actionPerformed(ActionEvent evt) {
                if ((evt.getActionCommand()).equals("next")) {
                                cont.removeAll();
                                cont.add(testPanel2);
                                cont.validate();

                } else if ((evt.getActionCommand()).equals("previous"))
{
                                cont.removeAll();
                                cont.add(testPanel1);
                                cont.validate();

                }

        }
}
Technical Details
Message-ID: <362B077E.C79CA96D@tid.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: 1116f3,7e2acb1e6e149e58,start
X-Google-Attributes: gid1116f3,public
From: Jose Miguel Martinez <jmmc@tid.es>
Subject: A�adir componentes dinamicamente a JApplet.
Date: 1998/10/19
Message-ID: <362B077E.C79CA96D@tid.es>
X-Deja-AN: 402740966
Content-Transfer-Encoding: 8bit
Organization: Telefonica I+D
Content-Type: text/plain; charset=iso-8859-1
Mime-Version: 1.0
Newsgroups: es.comp.lenguajes.java