JDIC をちょっとだけ触る
添付のデモに含まれている Browser.java をのぞいてみる。
public Browser() { try { jbInit(); } catch (Exception e) { e.printStackTrace(); } }
Sun の中にも JBuilder ユーザがいるらしい。この後に続いているのは、明らかに JBuilder が自動生成したコードだったりする。
ひととおりコードを確認したところ、SimpleBrowser と Tray 以外はすべて JBuilder が使われていた。Macユーザもいることだし、JBuilder ユーザがいても不思議じゃないけど。
javadoc を見てみる。
java.lang.Object └java.awt.Component └java.awt.Canvas └org.jdesktop.jdic.browser.WebBrowser
あれれ? AWT の Canvas を継承してるよ。なのに、
public class Browser extends JPanel { (cut) JPanel jBrowserPanel = new JPanel(); WebBrowser webBrowser; (cut) private void jbInit() throws Exception { (cut) jBrowserPanel.add(webBrowser, BorderLayout.CENTER); (cut) }
とかやってたりする。おーい、swing と AWT を混在させちゃいけないんだってばさ。
つか、なんで org.jdesktop.jdic.browser.WebBrowser って extends Canvas なのよ。extends JComponent にしなきゃいかんのでは?
もしかすると、native なレンダリングエンジンを使って描画するには、native コンポーネントじゃなきゃイカンって制限があったりするんかも。