昔々、ウェブ上でアプリケーションを実行するのにJava Appletが使われていた。デスクトップアプリケーションと開発を一緒にするために、両方で動くような書き方があった。だが、今のJavaはJAppletが削除されたために、動かすたびにエラーメッセージが出るようになってしまった。
JAppletを削除するのに苦労した点を書こうと思う。AozoraEpub3からJAppletを削除した
なんとなくの知識としてJAppletをJFrameに置き換えたらいいのではとどこかに書いてあったので、そうしてみた。
public class AozoraEpub3Applet extends JApplet
public class AozoraEpub3Applet extends JFrame
ただ、そうするとJFrameをJFrameに入れようとしているというエラーが出た。原因はJAppletに部品を入れたやつをJFrameに入れるという処理をしていた。そのために二重にJFrameに入れることになった。
final JFrame jFrame = new JFrame("AozoraEpub3");
final AozoraEpub3Applet applet = new AozoraEpub3Applet(jFrame);
だったのをappletを削除してjFrameに統一
final AozoraEpub3Applet jFrame = new AozoraEpub3Applet();
こうした。
そのほか、appletをjFrameに置換。
そのほかの問題は、appletからframeを呼び出す処理があったので、frameに置き換えたら、呼び出す側が正しくなくなっていた。
jFrameParent.getLocation()というのがそれで、getLocation()に変えた。