樹脂が固まる前に

Web Frontend / Android / Designが好きな人のメモ

Processing 3.0.2で動く自作ライブラリ(.jar)を作ろう

初めに

  • 自作クラスとか使いたい人向け
  • IntelliJ IDEA Community(free) 使用
  • Java ->.jar ファイル(ライブラリ本体)を吐き出す

プロジェクト作成

  • Processing が3.0.2なので,JDKは1.8を使用

  • IDEA: File>New>ProjectでtestLibを作成

  • その中のsrcにtestPackageを作成
  • またその中にJavaClass.javaを作成

今回はPApppletを扱えるライブラリにしたいので, IDEA: File>Project Structure>Librariesで+を押してcore.jar(Processing3.0.2>core>library)を入れる

Project表示ではこんな感じ

f:id:pvcresin:20160317220251p:plain

JavaClass.javaを書いてみる

最初にProcessing側からPAppletをもらってきて,bgというメソッドが呼ばれたらPAppletのバックグラウンドの色を変えるというだけのクラス.

package testPackage;

import processing.core.*;

public class JavaClass {
    PApplet pa;

    public JavaClass(PApplet pa) {
        this.pa = pa;
    }
    public void bg(int color){
        pa.background(color);
    }
    public static void main(String[] args) {

    }
}

.jar 作り

  1. IDEA: File>Project Structure>Artifacts
  2. +押す>JAR >From modules with dependencies
  3. Main ClassにJavaClassを選択する main()がないとかクラスに不備があると表示されないことがある
  4. JavaClass.javaのエディット画面に戻り,IDEA: Build>Build Artifactsからビルド
  5. testLib>out>artifacts>testLib_jarファイルのなかにtestLib.jarができているはず

f:id:pvcresin:20160317222510p:plain

Processingで使用

できた.jarを自分のスケッチにドラッグ&ドロップして下のコードをProcessingで書くだけ

import testPackage.JavaClass;

JavaClass j = new JavaClass(this);

void setup() {
  size(300, 300);
  background(255);
}
void draw() {
}
void mousePressed() {
  j.bg(color(255, 0, 0));
}

ライブラリ作りの参考:

Processingのライブラリを作る - gutugutu3030

IntelliJ IDEAでの .jarの作り方の参考:

qiita.com