Hatena::ブログ(Diary)

Life is a Role Playing Game

 | 

2011-11-27

processing のキャンバス上に swing コンポネーションを配置してみた

Share photos on twitter with Twitpic


今まで知らなかったんですが、mac で java.awt._ を使用した入力フォームだと日本語入力が出来ないようです(IMEが日本語に切り替えれない)


これゲームのチャット機能とか考えると致命的な致命傷だったんで、Swing の入力フォームを使うようにしてみました。


Mac とかでゲームする人いないんでーw日本語はサポートしない(キリッ とかでもよかったんですが、まぁ自分が一番困りそうなのでw


公式Wikiの http://wiki.processing.org/w/Swing_JSliders を参考にしました。


環境

scala2.9.1
processing1.5.1

やってること

  • PApplet(java.awt.Applet) に直接コンポネーションを add しても動かないので、JPanel を一枚噛ませてる。
  • PApplet は別スレッドで独自にループしているので、常に processing の描画が手前に来てしまう。なんで processing の描画(paint)の後にコンポネーションの paint を呼ぶ。
  • Border がちらつくので、paint の変わりに paintComponent を呼んでる。setBorder(null) でも良い気がしますが、こっちの方が少しでも早そう感があったので。。。

注意

・JList とかを processing のキャンバス上に置くとちらつく;ω;使うのは TextField だけにして他は自作するのがいいかもorz

・公式wiki でも使ってる方法なので大丈夫とは思いますが、PApplet#runSketch は色々と情報を取得してるんですが、今回はそれを使ってないので何か困ったこと起きるかも。


ソースコード

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/alpha_neet/20111127/1322395351
リンク元
 |