Swingを使ってJavaアプリケーションを作った時に、デフォルトのままだと、
タイトルバーは、コーヒーカップのアイコンが表示されます。
せっかく作ったプログラムなのに、コーヒーカップのままじゃあ、いまひとつですね。
そこで、タイトルバーに「Duke」のアイコンを表示させてみることにします。
まずは、タイトルバーにコーヒーカップが表示されていることを確認します。
/**
* タイトル: 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.java」をコンパイルします。
D:\Titlebar>javac Titlebar28Cup.java「Titlebar28Cup」を実行します。
D:\Titlebar>java Titlebar28Cup
[実行画面]
タイトルバーにコーヒーカップが表示されています。
では、タイトルバーにアイコンをロードしてみましょう。
今回、アイコンには、
を使います。
これは、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.java」をコンパイルします。
D:\Titlebar>javac Titlebar2Duke.java「Titlebar2Duke」を実行します。
D:\Titlebar>java Titlebar2Duke
[実行画面]
タイトルバーをご覧ください。 コーヒーカップが、Dukeに変わっているのがわかるでしょうか。