as(強制変換演算子)による無名クラスの代用

GroovyMagの今月号やSwingPadのソースみて勝手に驚いていたが,ウチ帰って「Grails徹底入門(asin:4798117366)」読み返してたら,ちゃんと書いてあった(p.72を参照)。


えー,何を驚いたかと言えば「クロージャやMapはas演算子を使う事でインターフェイスに変換できる」ということに驚いたのだよ。
つまり,(↓)こんなのとか,

def button = new JButton()
button.addActionListener({ println "action!!" } as ActionListener) 

(↓)こんなのはGroovy的にアリなんだそうな。

def panel = new JPanel()
panel.addMouseListener([mouseClicked: { println "clicked" }
                        mouseEntered: { println "entered" },
                        mouseExited: { println "exited" },
                        mouseReleased: { println "released" }] as MouseListener)


as演算子で指定する型は必ずしもインターフェイスである必要はないらしく,(↓)こんな風にアダプタを指定する事もできたよ。

def panel = new JPanel()
panel.addMouseListener([mouseClicked: { println "clicked" }
                        mouseReleased: { println "released" }] as MouseAdapter)
続きを読む

NetBeans IDE 7 Java Editor - Dzone Refcardz

NetBeans6.5対応版が出たそうで。
NetBeansはショートカット覚えてバリバリって感じのIDEではないと思うんだけど,まあいいか。
といっても,そんなマニアックな事は書いてなくて,どっちか言えば初心者向け。
#"10 HANDY EDITOR SHORTCUTS"あたりは見るべき点があるかナー。