2009-09-27 6 views
0

J'ai un problème en essayant d'ajouter un PApplet dans SWT, il affiche une fenêtre vide quand il devrait juste rendre le PApplet. C'est à dire. le PApplet fonctionne tout seul, mais pas dans une fenêtre SWT.Comment ajouter un PApplet de traitement dans SWT

Je pensais que l'ajout du PApplet dans le cadre devrait d'abord faire l'affaire, en utilisant le code du tutoriel SWT dans Eclipse. Apparemment, ce n'était pas si facile. Voici mon code, où MyPApplet est un PApplet personnalisé:

public static void main(String[] args) { 
    Display display = new Display(); 
    Shell shell = new Shell(display); 
    Composite composite = new Composite(shell, SWT.EMBEDDED | SWT.NO_BACKGROUND); 
    Frame frame = SWT_AWT.new_Frame(composite); 
    PApplet pApplet = new MyPApplet(); 
    frame.add(pApplet); 
    shell.open(); 
    while (!shell.isDisposed()) { 
     if (!display.readAndDispatch()) display.sleep(); 
    } 
    display.dispose(); 
} 

Suis-je manque quelque chose?

+0

appelez-moi un idiot ... qu'est-ce qu'un PApplet? – andyczerwonka

+0

@arcticpenguin: PApplet est une classe que processing.org Utilise comme une fenêtre/applet frame.Il sous-classe la classe Applet de Java – Spoike

+0

@Spoike avez-vous déjà trouvé une solution pour cela? – RoflcoptrException

Répondre

3

J'ai fait ce petit guide sur la façon de fusionner avec traitement SWT dans Eclipse: http://christian.liljedahl.dk/guides/processing-and-swt-in-eclipse

J'espère que cela pour vous résoudre. Mon "astuce" est d'avoir une fenêtre pour les choses de traitement, et une fenêtre séparée avec l'interface utilisateur dans son propre thread.

1

Je pense qu'il existe une autre façon d'y parvenir. En utilisant un composant Swing en tant qu'adaptateur, qui aime: ajoutez le PApplet dans un composant JComponent comme JInternalFrame, puis intégrez ce composant JComponent dans le composant SWT.

J'ai fait quelques pratiques à ce sujet, et il fonctionne très bien ..

et aussi j'ai blogué une synthèse sur ce sujet: http://blog.csdn.net/godoorsun/article/details/6747589

(BTW, cet article est écrit en chinois :(, peut-être vous pouvez le lire via Google Translator, mais le code d'exemple sur cet article est facile à comprendre)

Questions connexes