2016-04-23 9 views
0

Ich bin ein bisschen neu mit Processing 3. *; Ich bin (und bin bereit) die Processing Development Environment (die offizielle IDE) zu verwenden. Lesen der offiziellen "Anleitung", insbesondere this part, es ist angegeben, dass Sie die reine Java-Sprache innerhalb der Verarbeitung verwenden können einfach eine .java Registerkarte anstelle einer .pde.Importieren von Bibliotheken in. Java Tabs in der Verarbeitung

Diese Art der Lösung ist gut, zum Beispiel Enum s zu verwenden (sonst nicht verwendbar in .pde Tabs) und es gibt andere Gründe, aber sie sind nicht wichtig, im Moment ...

Ein Problem mit dieser Art von Arbeit ist, dass die Bibliotheken der Verarbeitung sind nicht enthalten, so dass Sie sie manuell importieren müssen.

Was ich festgestellt habe ist, dass alle offiziellen Processing-Bibliotheken einfach mit dem Schlüsselwort import importiert werden können, während für alle vom Contribution Manager installierten Bibliotheken die Geschichte anders ist. Die Fehlermeldung ist The package "packageName" does not exists. You might be missing a library. Libraries must be installed in a folder named 'libraries' inside the 'sketchbook' folder.

Lange Rede kurzer Sinn ich diese Bibliotheken nicht importieren können ...

Ich habe versucht, sie in der Standard-Java-Bibliotheken Lage (% SystemRoot% \ Java \ lib \ ext zu kopieren) und in einigen anderen Pfaden, aber nichts ... Ich lese, dass classpath erlauben würde, es zu benutzen, aber ich kann nicht verstehen, wie man Verarbeitung mit javac verwendet.

Ich habe auch versucht, so etwas wie „ProcessingFolder \ verarbeitungs java.exe“ --sketch = „$ (aktuelles_verzeichnis)“ --run, die das gleiche Skript Sie ausführen Bearbeitung im Editor verwenden können, ++, Hinzufügen der Anweisung --classpath = "$ (CURRENT_DIRECTORY)" (Offensichtlich in Notepad ++), aber es hat nicht funktioniert (processing-java.exe Zustand I don't know anything about --classpath=.).

Also hier ist die Frage: Wie können wir importieren und verwenden Bibliotheken in. Java Tabs mit Processing Development Environment?

Antwort

1

Das klingt nicht richtig. Sie sollten Bibliotheksklassen problemlos verwenden können, indem Sie sie in eine Registerkarte .java importieren.

Schritt 1: Von der PDE, gehen Sie zu Sketch ->Import Library, dann wählen Sie die Bibliothek, die Sie aufnehmen möchten. Beachten Sie, dass es zwei Schritte gibt, wenn Sie noch keine Bibliothek hinzugefügt haben: Zuerst müssen Sie die Bibliothek installieren, dann müssen Sie sie einbinden.

Schritt 2: Sobald Sie eine Bibliothek in Ihre Skizze eingefügt haben, können Sie die Klassen aus dieser Bibliothek überall in Ihrer Skizze verwenden. Dazu gehören .java Tabs.

Hier ist ein Beispiel, das die Bibliothek minim in einer Registerkarte .java verwendet. Ich habe nicht alle Dateien kopieren oder erstellen alle Verzeichnisse:

Haupt Skizze tab:

void setup(){ 
    Test test = new Test(this); 
} 

-Test.Java-Registerkarte:

import processing.core.PApplet; 

import ddf.minim.Minim; 
import ddf.minim.AudioPlayer; 
import ddf.minim.AudioInput; 

public class Test { 

    Minim minim; 
    AudioPlayer player; 
    AudioInput input; 

    public Test(PApplet sketch) { 
    minim = new Minim(sketch); 
    player = minim.loadFile("song.mp3"); 
    input = minim.getLineIn(); 
    } 
} 

Es klingt wie Sie die Bibliothek in Ihrer Skizze nicht ordnungsgemäß enthalten. Stellen Sie sicher, dass Sie das Sketch ->Import Library Menü durchlaufen, und stellen Sie sicher, dass Sie beide und die Skizze enthalten.

+0

Hallo! Ich habe das schon mal probiert: Ich habe einen Wrapper von JBox2D von Daniel Shiffman in Processing mit dem Contribution Manager installiert, dann habe ich versucht, diese Bibliotheken mit dem 'Import Library'-Untermenü zu importieren. Es hat tatsächlich einen Import-Zeilencode geschrieben, aber es hat nicht funktioniert ... Ich habe es aber nicht mit anderen Bibliotheken versucht! Wie auch immer, nur das Erstellen des Ordners 'code' im Sketch-Ordner funktioniert einwandfrei [: – ingroxd

+0

Update: Es ** funktioniert **. Ich habe es vermisst ** auch ** in der Registerkarte ".pde" zu importieren. – ingroxd

+0

@IngrossoD Ja, Sie müssen es in jede Registerkarte importieren, in der Sie es verwenden möchten. –