解決 Clojure+Linuxで透明/半透明フレーム
やり方が分かりました。
環境によるかもしれませんが、うちの環境では以下のコードでうまくいきました。
Ubuntu 9.10 + gnome + compiz 環境です。
(import 'javax.swing.JFrame) (import 'com.sun.awt.AWTUtilities) (def frame (doto (JFrame. "半透明フレーム出来たよ!") (.setDefaultCloseOperation JFrame/EXIT_ON_CLOSE) (.setBounds 60 30 300 300) (.setVisible true))) (AWTUtilities/setWindowOpacity frame 0.6)
どうしても上手くいかなかったので「もうawtでもいいや」と半ば諦め「java awt 半透明」でググったところこちらのサイトにたどりついたというわけです。
見ればわかると思いますが、AWTUtilities/setWindowOpacity を使うことでswingでも半透明フレームが作れます。
また、AWTUtilities をつかうと非矩形のフレームも作れるようです。
とりあえずこれで問題はひとつクリアしました。
あらたな課題
この半透明フレームにJButtonをのせたところボタンまで半透明になっていました。半透明フレームに不透明なコントロールをのせるにはどうするのか? 引続き調べる必要がありそうです。