(3)swingによるJavaアプリケーション(Windowsアプリケーション)
(a) swingによる雛形
Samp04.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Samp04 extends JFrame {
public static void main(String args[]) {
// MyFirstJavaオブジェクトを作成する
Samp04 window = new Samp04();
// ウィンドウのサイズを指定する
window.setSize(400, 200);
// ウィンドウリスナを登録、実装する
window.addWindowListener(
new WindowAdapter() {
// ウィンドウの終了手続き
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
);
// ウィンドウを表示する
window.setVisible(true);
}
// MyFirstJavaクラスのデフォルトコンストラクタを実装する
Samp04() {
super("swingによるウインドウ");
}
// 再描画メソッドをオーバーライドする
public void paint(Graphics g) {
// まず最初に、JFrameクラスの基本動作を実現する
super.paint(g);
String str = "swingによるJavaアプリケーション";
g.drawString(str, 20, 50);
}
}
《解説》
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
- swingに必要なパッケージjavax.swingをインポートする。
java.awt、java.awt.eventのパッケージも必要である。
public class Samp04 extends JFrame {
- swingではFrameクラスでなく、JFrameクラスを利用しウインドウを作成する。
// まず最初に、JFrameクラスの基本動作を実現する
super.paint(g);
String str = "swingによるJavaアプリケーション";
g.drawString(str, 20, 50);
- swingのpaintメソッドをオーバーライトすると画像が壊れてしまう場合がある。
- ので、まずJFrameクラスのpaintメソッドを実行した後、独自のpaintメソッドを実行するように記述する。