2009-11-08 6 views
0

Je comprends que ce peut être être impossible, mais je voudrais bien savoir si quelqu'un a accompli cela, ou avoir une solution de rechange.Ajouter un widget SWT à une balançoire JPanel

J'ai un bouton SWT et je souhaite remplacer le contenu d'un JPanel existant avec juste le bouton présent. Ma stratégie actuelle consiste à avoir le bouton SWT en tant que champ nul initial et ensuite le définir à travers une méthode, qui actualisera le JPanel avec le bouton SWT.

Button ibutton = null; 

Ce qui suit est extrait de mon constructeur (classe extends JPanel):

ibutton.addListener(SWT.Selection, new Listener() { 
public void handleEvent(Event e) { 
switch (e.type) { 
case SWT.Selection: 
} 
} 


    }); 

add(ibutton); //add is the usual swing assignment function 
          // and thus does not work. 

S'il y a un autre moyen de Acheive cela, je serais plus heureux d'entendre ce que vous avez.

+0

J'ai trouvé depuis cette classe qui peut éventuellement aider ma cause: http://mobius.inria.fr/eclipse-doc/org/eclipse/swt/awt/SWT_AWT.html Je suis encore assez incertain sur la façon de le mettre en œuvre cependant. J'apprécierais quelques conseils. –

Répondre

3

Vous devez faire quelque chose comme ceci:

Canvas canv = new Canvas(); 
add(canv);//add to ur parent container 
Shell shell = SWT_AWT.new_Shell(display, canv); 
shell.add(ibutton); 

Il suivent les points à noter, puisque vous semblez être nouveau au pont SWT_AWT:

  1. Le parent aurait dû être affiché (pair doit être créé) au moment où le code ci-dessus est appelé.
  2. Un thread parallèle doit lire et répartir les événements de l'affichage.
+2

S'il vous plaît pouvez-vous élaborer 1 et 2, parce que je fais exception à ce sujet? – MrD

Questions connexes