Javaプログラミング/Javaプログラミング関連情報

ルックアンドフィールで遊ぼう!(6ページ目)

Swingではルックアンドフィールを変更できます。自分だけのオリジナルなルックアンドフィールだって作れるんですよ!

執筆者:掌田 津耶乃

XMLファイルを定義する


Synthを使って独自に作成したルックアンドフィール。

SynthのXMLファイルは、ごく一般的なXMLとして作ります。ここでは、サンプルとしてプッシュボタン、チェックボックス、ラジオボタンの表示を定義したXMLファイルを作ってみました。

<?xml version="1.0" encoding="UTF-8"?>
<synth>
  <style id="button">
    <opaque value="TRUE" />
    <font name="Monospaced" size="18" style="BOLD" />
    <state value="PRESSED">
      <color value="RED" type="BACKGROUND" />
      <font name="Monospaced" size="18" style="PLAIN" />
    </state>
  </style>
  <bind style="button" type="region" key="Button" />
  <style id="checkbox">
    <imageIcon id="check_off" path="check_off.png" />
    <imageIcon id="check_on" path="check_on.png" />
    <property key="CheckBox.icon" value="check_off" />
    <state value="SELECTED">
      <property key="CheckBox.icon" value="check_on" />
    </state>
  </style>
  <bind style="checkbox" type="region" key="Checkbox" />
  <style id="radiobutton">
    <imageIcon id="radio_off" path="radio_off.png" />
    <imageIcon id="radio_on" path="radio_on.png" />
    <property key="RadioButton.icon" value="radio_off" />
    <state value="SELECTED">
      <property key="RadioButton.icon" value="radio_on" />
    </state>
  </style>
  <bind style="radiobutton" type="region" key="RadioButton" />
</synth>


ここでは、チェックボックスとラジオボタンのON/OFF表示用に「check_on.png」「check_off.png」「radio_on.png」「radio_off.png」といったファイルを使用しています。これらもXMLと同様、使用するクラスファイルと同じ場所に用意してください。

Synthのテーマは、<synth>というタグの中に記述をします。この中では、以下の2種類のタグが用意されています。

<style>タグ――スタイルを定義したタグです。
<bind>タグ――作成したスタイルをコンポーネントにバインドするタグです。

まず<style>でスタイルを定義し、それを<bind>でバインドする、という形で記述がされます。<style>に記述する内容は、それぞれのコンポーネントごとに非常に多岐にわたって用意されています。ここにあげたサンプルを参考に、いろいろと値を書き換えて試してみてください。1つ1つのタグの働きが少しずつわかってくるはずですよ。
【編集部おすすめの購入サイト】
楽天市場で Java 関連の書籍を見るAmazon で Java 関連の書籍を見る
  • 前のページへ
  • 1
  • 4
  • 5
  • 6
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます