Javann

タイトルバーにDukeを!

Swingを使ってJavaアプリケーションを作った時に、デフォルトのままだと、 タイトルバーは、コーヒーカップのアイコンが表示されます。
せっかく作ったプログラムなのに、コーヒーカップのままじゃあ、いまひとつですね。 そこで、タイトルバーに「Duke」のアイコンを表示させてみることにします。


Titlebar28Cupのソースコード

まずは、タイトルバーにコーヒーカップが表示されていることを確認します。

/**
 * タイトル: Titlebar28Cup.java
 * 説明: タイトルバーにはコーヒーカップが
 * @URL: http://homepage2.nifty.com/ann
 */

import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JLabel;

class Titlebar28Cup extends JFrame {
    final String MESSAGE = "タイトルバーにはコーヒーカップが";

    public static void main(String args[]) {
        Titlebar28Cup app = new Titlebar28Cup();
        app.show();
    }

    public Titlebar28Cup() {
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent evt) {
                System.exit(0);
            }
        });
        getContentPane().add(new JLabel(MESSAGE));
        pack();
    }
}
ソースコードを「Titlebar28Cup.java」の名前で保存します。


Titlebar28Cupの実行

「Titlebar28Cup.java」をコンパイルします。

D:\Titlebar>javac Titlebar28Cup.java
「Titlebar28Cup」を実行します。
D:\Titlebar>java Titlebar28Cup

[実行画面]
Titlebar28Cup.jpg

タイトルバーにコーヒーカップが表示されています。


Titlebar2Dukeのソースコード

では、タイトルバーにアイコンをロードしてみましょう。
今回、アイコンには、duke.gifを使います。 これは、Sun Microsystems社が提供しているJava™のサンプルにあったものを 縮小したものです。

/**
 * タイトル: Titlebar2Duke.java
 * 説明: タイトルバーにDukeを!
 * @mail: Naoya Ando
 */

import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JLabel;

import java.awt.Toolkit;
import java.awt.Image;
import java.net.URL;
import java.lang.ClassLoader;

class Titlebar2Duke extends JFrame {
    final String MESSAGE = "タイトルバーにDukeを!";

    public static void main(String args[]) {
        Titlebar2Duke app = new Titlebar2Duke();
        app.show();
    }

    public Titlebar2Duke() {
        addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent evt) {
                System.exit(0);
            }
        });
        getContentPane().add(new JLabel(MESSAGE));
        pack();

        // アイコンをロードします。
        Image image = null;
        try {
            ResourceLoader loader = new ResourceLoader();
            image = loader.getImage("duke.gif");
            if(image != null) {
                setIconImage(image);
            }
        } catch(Exception e) {
            System.err.println(e.getMessage());
        }
    }
}

/**
 * リソース読み込み用クラス
 */
class ResourceLoader extends ClassLoader {
    Image getImage(String str){
        Image image = null;
        URL url = null;
        url = getResource(str);
        if(url != null) {
            image = Toolkit.getDefaultToolkit().createImage(url);
        }
        return image;
    }
}
ソースコードを「Titlebar2Duke.java」の名前で保存します。

Titlebar2Dukeの実行

「Titlebar2Duke.java」をコンパイルします。

D:\Titlebar>javac Titlebar2Duke.java
「Titlebar2Duke」を実行します。
D:\Titlebar>java Titlebar2Duke

[実行画面]
Titlebar2Duke.jpg

タイトルバーをご覧ください。 コーヒーカップが、Dukeに変わっているのがわかるでしょうか。


最終更新日:06/02/2002 22:14:54
Copyright 1995-,2002-2003 Naoya Ando. All Rights Reserved.