ProcessingでAWTのボタンを使う
ProcessingでGUIというとControlP5というライブラリがありますが、お世辞にも使いやすいものではないので、JavaのAWT(Abstract Window Toolkit)のGUIをそのままのっけるのを試してみました。以下は色をランダムに変更するボタンを表示する例です。
import java.awt.*; // ボタンなどのAWTのGUIの記述に必要 import java.awt.event.*; // AWTのイベントの記述に必要 import java.awt.Font; // AWTのフォント設定に必要 void setup() { size(400, 300); setLayout(null); // 表示位置を座標指定できるようにするためにレイアウトマネージャを無効にする Button b1 = new Button("change color"); // ボタンを作る b1.setSize(200, 50); // ボタンのサイズ b1.setLocation(10, 15); // ボタンの表示位置 b1.addActionListener(new MyActionListener()); // ボタンが押された時に呼ばれるリスナの設定 b1.setFont( new Font("メイリオ", Font.PLAIN, 30) ); // ボタンのフォント・文字サイズ設定 add(b1); // ボタンを追加 } void draw() { background(200); strokeWeight(4); ellipse( 270, 160, 200, 200 ); } // ボタンが押された時の挙動を記述するアクションリスナ class MyActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { // ボタンを押されたらランダムにフィルカラーを変更 fill(random(255), random(255), random(255) ); } }
あんまりやってると素のJavaで書けよとつっこまれそうですが、ProcessingベースでJavaをやるのが楽しいので。