JavaでHello World
Google
  HOME  |  基礎  |  掲示板  |  ツール |  書籍  |  デザインパターン  |  リンク  |  フィードバック
JavaでHello World > Swing(Look&Feel)編  
メニュー
Home
情報交換掲示板
ツールの部屋
Java関連の書籍
アプリケーション編
Swing編
Swing(イベント)編
Swing(Look&Feel)編
アプレット編
iアプリ編
サーブレット編
サーブレット(Linux)編
サーブレット(web.xml)編
サーブレット(セッション)編
サーブレット(クッキー)編
サーブレット(フィルタ)編
JSP編
JSP(ディレクティブ)編
JSP(アクション)編
JSP(スクリプト)編
JSP(オブジェクト)編
JSP(カスタムタグ)編
JSP(データベース)編
Apache + Tomcat編
Struts編
JDBC編
JDBC(データソース)編
JDBC(MySQL)編
JDBC(PostgreSQL)編
JDBC(トランザクション)編
JavaMail(SMTP)編
JavaMail(POP)編
JNI編
RMI編
RMI(アプレット)編
CORBA編
JNDI編
EJB編
EJB(Entity Bean)編
JMS(PTP)編
JMS(Pub/Sub)編
XML(SAX)編
XML(DOM)編
XSLT編
SOAP編
国際化編
国際化(タイムゾーン)編
国際化(通貨)編
リフレクション編
コレクション編
コレクション(Set)編
コレクション(List)編
コレクション(Map)編
スレッド編
正規表現編
アサーション編
ログ機能編
サウンド編
ファイル入出力編
URL編
ソケット編
データグラム編
HTTP
FTP編
jar編
javadoc編
Ant編
外部コマンド編
プロパティファイル編
システムプロパティ編
Eclipse編
  2003/01/18  田中宏和
Swing(Look&Feel)編
◆Swingとは?
SwingとはJavaでGUIアプリケーションを作成するためのパッケージです。Swingを使用することによって、実行環境によらない統一されたGUI(グラフィカル・ユーザー・インターフェース)を作成できます。
◆Look&Feelは?
Look&Feelとは見た目や操作感のことです。SwingではPluggable Look&Feel(プラグイン可能なLook&Feel)機能によって見た目や操作感を自由に変更することができます。
◆ここでの環境
OS Windows XP
J2SE SDK 1.4.1_01
◆実行環境の構築
実行環境の構築についてはアプリケーション編を参考にしてください。
◆ソースコード
ここではチェックボックスでLook&Feelを選んで切り替えるプログラムを作成します。実際に切り替えを行っているのは以下の3行です。
UIManager.setLookAndFeel(ae.getActionCommand());
SwingUtilities.updateComponentTreeUI(this);
pack();
HelloWorldSwingLookAndFeel.java(ここからダウンロード)
import javax.swing.*;
import java.awt.event.*;

public class HelloWorldSwingLookAndFeel extends JFrame
                                        implements ActionListener {

  // コンストラクタ
  public HelloWorldSwingLookAndFeel(String title) {
    super(title);
    // ボタンを作成
    JButton button = new JButton("Hello World");
    // チェックボックスを作成
    /** Metal **/
    JRadioButton metalButton = new JRadioButton("Metal");
    // MetalのLook&Feelのクラス名を設定
    metalButton.setActionCommand(
                   "javax.swing.plaf.metal.MetalLookAndFeel");

    /** Windows **/
    JRadioButton windowsButton = new JRadioButton("Windows");
    // WindowsのLook&Feelのクラス名を設定
    windowsButton.setActionCommand(
                   "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

    /** Motif **/
    JRadioButton motifButton = new JRadioButton("Motif");
    // MotifのLook&Feelのクラス名を設定
    motifButton.setActionCommand(
                   "com.sun.java.swing.plaf.motif.MotifLookAndFeel");

    // アクションリスナーを登録
    metalButton.addActionListener(this);
    windowsButton.addActionListener(this);
    motifButton.addActionListener(this);

    // チェックボックスグループを作成
    ButtonGroup group = new ButtonGroup();
    group.add(metalButton);
    group.add(windowsButton);
    group.add(motifButton);

    // パネルを作成
    JPanel panel = new JPanel();
    panel.add(button);
    panel.add(metalButton);
    panel.add(windowsButton);
    panel.add(motifButton);

    // コンテントペインにパネルを追加
    getContentPane().add(panel);

    // ウインドウが閉じられたときにアプリケーションを終了するように設定
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    // サブコンポーネントの推奨サイズおよびレイアウトに合わせて
    // この Window をサイズ変更するように設定
    pack();
    // 表示します
    setVisible(true);
  }
  public static void main(String[] args) {
    HelloWorldSwingLookAndFeel frame =
                  new HelloWorldSwingLookAndFeel("SwingでLook&Feel");
  }

  public void actionPerformed(ActionEvent ae) {
    try {
      // 外観を設定します
      UIManager.setLookAndFeel(ae.getActionCommand());
      // 外観を変更します
      SwingUtilities.updateComponentTreeUI(this);
      // サブコンポーネントの推奨サイズおよびレイアウトに合わせて
      // この Window をサイズ変更するように設定
      pack();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}
 
 
◆コンパイルと実行
コマンドプロンプト

C:\JavaHello\Swing>javac HelloWorldSwingLookAndFeel.java

C:\JavaHello\Swing>java HelloWorldSwingLookAndFeel

Windowsボタンをチェックしてみます。
おおおお!外観が変わりましたね!次にMotifボタンをチェックしてみます。
おおおお!外観が変わりましたね!
 
■関連
Swing編

 
  ネットで買えば断然お得!お買い物なら楽天市場
ツールの部屋 - Java関連の書籍 - デザインパターン - 情報交換掲示板 - HOME