※http://q.hatena.ne.jp/1238220283 の続きです。
例えば、コメント欄に記述したソースをライブラリ上へ移行させたいのです。
コメント欄のプログラムを javaコマンドから実行すると水色の背景に「Hello, world!」と書かれたウィンドウが表示されます。
で、例えばmain部分を
public static void main(String[] args) {
Syokika = new Syokika("<Windowタイトル名>", <Window横幅>, <Window縦幅>);
}
ぐらいにまで省略できるようなライブラリを記述するにはどうすれば良いのかと考えています。
いくつかソース付きゲーム向けのライブラリを試しにダウンロードしたのですが、完成しすぎていてどこが何の処理をしているのか今の所ソースを読んでも理解できませんでした。
よろしくお願いします。
質問者さんは Applet でも Application でも動作するように作成したいのですよね?
http://www.asahi-net.or.jp/~dp8t-asm/java/tips/AppletApp.html
が参考になると思います。
質問者さんは Applet でも Application でも動作するように作成したいのですよね?
http://www.asahi-net.or.jp/~dp8t-asm/java/tips/AppletApp.html
が参考になると思います。
tsukasa57さんありがとうございます。
今回は、Applicationからのみ動くのでも良いかなと思っていたのですが、リンク先の内容は参考になりそうです。
試してみます。
色んな方法がありますけど、ここで一番分かりやすいのは
コメントに書いてあるコードのmainを生成用のstaticメソッドにすることですかね。
public class hatena1238220283 extends Applet { public static Applet create(String title, int width, int height) { Frame f = new Frame(title); Applet a = new hatena1238220283(); f.setSize(width, height); a.init(); f.add(a); f.setVisible(true); f.addWindowListener(new ExitListener()); return a; } public void init() { setBackground(new Color(0.8F, 1.0F, 1.0F)); } public void paint(Graphics gc) { gc.drawString("Hello, world!", 10, 16); } } class ExitListener extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } }
で、呼び出し側は
public class Main { public static void main(String[] args) { String title = "<Windowタイトル名>"; int width = 400; int height = 200; Applet myApplet = hatena1238220283.create(title, width, height); } }
bufferingsさんありがとうございます。
bufferingsさんの方法そのもので行う場合ですと、別のプログラムでこのライブラリを使う場合にApplet a = new hatena1238220283(); の部分など毎回書き換えが必要な部分が発生しますね。
でも、アレンジすれば色々活用できそうなので試してみます!
tsukasa57さんありがとうございます。
今回は、Applicationからのみ動くのでも良いかなと思っていたのですが、リンク先の内容は参考になりそうです。
試してみます。