2016-03-24 10 views
0

Ich habe eine Java-Anwendung in Eclipse mit Verarbeitung (processing.org) erstellt, die in diesem Fenster not displayed at the right place angezeigt werden soll, aber wie Sie sehen können, ist es nicht t arbeiten. Ich habe bereits versucht, die App mit proclipsing: http://www.instructables.com/id/Proclipsing-Using-the-Eclipse-IDE-for-Processing-p/ kompilieren, aber es funktioniert nicht und ich möchte nicht auf diese Weise verwenden. Also das ist mein Code:Meine Anwendung (Java) wird nicht in dem Fenster angezeigt, das ich für sie eingestellt habe

package HelloProcessing; 

import java.awt.*; 
import javax.swing.*; 
import processing.core.*; 

public class main 
{ 

    public static void main(String args[]) 
    { 
     PApplet.main(new String[] {"--present", "HelloProcessing.HelloProcessing"}); 
     JFrame frame = new JFrame("HelloProcessing"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     JLabel emptyLabel = new JLabel(""); 
     emptyLabel.setPreferredSize(new Dimension(HelloProcessing.xs, HelloProcessing.ys)); 
     frame.getContentPane().add(emptyLabel, BorderLayout.CENTER); 
     frame.pack(); 
     frame.setVisible(true); 
    } 
} 

package HelloProcessing; 

import processing.core.*; 

public class HelloProcessing extends PApplet 
{ 
    /* 
    * public static void main(String args[]) 
    * { 
    * PApplet.main(new String[] {"--present", "HelloProcessing.HelloProcessing"}); 
    * } 
    */ 

    float rb = 255; 
    float gb = 255; 
    float bb = 255; 
    static int xs = 500; 
    static int ys = 500; 

    float xe = 150; 
    float ye = 150; 
    float we = 100; 
    float he = 100; 

    float re = 255; 
    float ge = 0; 
    float be = 0; 

    float xr = 250; 
    float yr = 250; 
    float wr = 100; 
    float hr = 100; 

    float rr = 0; 
    float gr = 0; 
    float br = 255; 

    public void setup() 
    { 
     background(rb, gb, bb); 
    } 

    public void settings() 
    { 
     /* size(500, 500); */ 
     size(xs, ys); 
    } 

    public void draw() 
    { 
     int ecolor = color(re, ge, be); 
     fill(ecolor); 
     ellipse(xe, ye, we, he); 

     int rcolor = color(rr, gr, br); 
     fill(rcolor); 
     rect(xr, yr, wr, hr); 
    } 
} 

Können Sie mir helfen?

Dank

+1

Niemand wird Ihren Code herunterladen. Veröffentlichen Sie den betreffenden Code hier. –

+1

Bitte fügen Sie Ihren Code direkt in Ihrem Beitrag als [mcve] ein. –

+0

Das ist mein Code: – vrackfall

Antwort

0

Aufruf der PApplet.main() Funktion baut für Sie ein Fenster und zeigt die Skizze Verarbeitung in diesem Fenster.

Dann erstellen Sie eine zweite JFrame und zeigen das an. Aber diese Sekunde JFrame weiß nichts über Ihre Verarbeitungsskizze. Sie fügen nur eine leere JLabel hinzu, so dass es nichts anzuzeigen hat.

Vor der Verarbeitung 3 war es möglich, eine PApplet direkt in eine JFrame einzubetten. Aber nach Bearbeitung 3 können Sie das nicht mehr tun, da PApplet nicht mehr Applet verlängert.

Sie können auf die darunter liegenden Component bekommen noch durch die PSurface Klasse gehen, aber das ist nicht gerade freundlich zu Anfängern. Alternativ können Sie die Verarbeitung als Java-Bibliothek verwenden und selbst eine PGraphics erstellen, aber das ist auch nicht gerade trivial.

+0

Ich könnte versuchen, was ist der Code sollte ich verwenden? – vrackfall

+0

@vrackfall Warum genau möchten Sie eine Verarbeitungskizze in Ihren eigenen JFrame einfügen? Welches Ziel versuchen Sie zu erreichen? –

+0

Ich weiß nicht warum, aber wenn ich die HelloProcessing wie ein Applet starte, funktioniert es nicht, aber es funktioniert, wenn ich es wie eine Anwendung starte, aber nur im Vollbild, wie Sie sehen können. Ich möchte es also in ein "Fenster" (einen Rahmen) einfügen. Ich habe bereits den ganzen Weg versucht, es wie ein Applet zu starten – vrackfall

0

Kevin Workman mir sagen:
Stopp als Argument in "--present" vorbei. Das bedeutet, dass es im Vollbildmodus läuft.

Verwandte Themen