Domanda

Capisco che questo possono è impossibile, ma vorrei sicuro piacerebbe sapere se qualcuno ha compiuto questo, o di avere un work-around.

Ho un pulsante di SWT e Sono voler sovrascrivere il contenuto di un JPanel esistenti con l'essere presente solo il pulsante. La mia strategia attuale è quella di avere il pulsante SWT come un campo nullo iniziale e poi impostarlo attraverso un metodo, che aggiorna la JPanel con il pulsante SWT.

Button ibutton = null;

Il seguente è tratto dal mio costruttore (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.

Se non v'è un altro mezzo per raggiungere questo obiettivo, sarei più che grato di sentire quello che hai.

È stato utile?

Soluzione

Si deve fare qualcosa di simile:

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

Ci sono i seguenti punti da notare, dal momento che ti sembra di essere una novità per il ponte SWT_AWT:

  1. Il genitore avrebbe dovuto essere visualizzato (peer deve essere creato) per il momento il codice di cui sopra si chiama.
  2. Un filo parallelo dovrebbe essere la lettura e l'invio di eventi dal display.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top