• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:MetalLookAndFeelで太字フォントを使用しない
#navi(../)
#tags(MetalLookAndFeel, LookAndFeel, Font, UIManager, Html)
RIGHT:Posted by &author(aterai); at 2013-01-21
*MetalLookAndFeelで太字フォントを使用しない [#kf9e9e61]
``MetalLookAndFeel``で太字フォントを使用しないように設定します。

-&jnlp;
-&jar;
-&zip;

//#screenshot
#ref(https://lh4.googleusercontent.com/-7wQtHGyNRDQ/UPv6YyOBReI/AAAAAAAABbk/_vXFoJwk-ug/s800/BoldMetal.png)

**サンプルコード [#vf3e0303]
#code(link){{
UIManager.put("swing.boldMetal", Boolean.FALSE);
}}

**解説 [#m53af62e]
上記のサンプルでは、``UIManager.put("swing.boldMetal", Boolean.FALSE);``として、``JLabel``、``JButton``、``TitleBorder``などのデフォルトとしてボールド(太字)フォントを使用しないように設定しています。

システムプロパティー``swing.boldMetal``を``false``に設定する方法でもボールド(太字)フォントを使用しないように設定することができます。

 > java -Dswing.boldMetal=false example.MainPanel

- デフォルトプロパティー``swing.boldMetal``が、システムプロパティー``swing.boldMetal``より優先される
- ``Html``で``<html><b>...</b></html>``のように装飾した場合は、デフォルトプロパティー``swing.boldMetal``より優先される(このサンプルでは、``JTabbedPane``の選択タブタイトルを``<html><b>...</b></html>``で装飾)
- 以下のようにデフォルトプロパティー``swing.boldMetal``を更新することで切り替え可能
-- [http://docs.oracle.com/javase/jp/6/api/javax/swing/plaf/metal/DefaultMetalTheme.html DefaultMetalTheme (Java Platform SE 6)]

#code{{
JCheckBox check = new JCheckBox("swing.boldMetal");
check.addActionListener(new ActionListener() {
  @Override public void actionPerformed(ActionEvent e) {
    JCheckBox c = (JCheckBox)e.getSource();
    UIManager.put("swing.boldMetal", c.isSelected());
    // re-install the Metal Look and Feel
    try{
      UIManager.setLookAndFeel(new MetalLookAndFeel());
    }catch(Exception ex) {
      ex.printStackTrace();
    }
    // Update the ComponentUIs for all Components. This
    // needs to be invoked for all windows.
    SwingUtilities.updateComponentTreeUI(SwingUtilities.getWindowAncestor(c));
  }
});

**参考リンク
- [http://docs.oracle.com/javase/jp/6/api/javax/swing/plaf/metal/DefaultMetalTheme.html DefaultMetalTheme (Java Platform SE 6)]

**コメント
#comment

}}