Swing/InstalledLookAndFeels のバックアップソース(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- バックアップ を表示
- Swing/InstalledLookAndFeels へ行く。
- 1 (2009-01-20 (火) 12:25:47)
- 2 (2012-09-04 (火) 22:04:44)
- 3 (2013-01-12 (土) 21:48:32)
- 4 (2014-12-24 (水) 14:47:44)
- 5 (2016-04-08 (金) 15:15:34)
- 6 (2017-05-19 (金) 09:53:15)
- 7 (2018-05-11 (金) 16:36:31)
- 8 (2019-10-10 (木) 17:38:26)
- 9 (2021-05-14 (金) 19:25:14)
- 10 (2025-01-03 (金) 08:57:02)
- 11 (2025-01-03 (金) 09:01:23)
- 12 (2025-01-03 (金) 09:02:38)
- 13 (2025-01-03 (金) 09:03:21)
- 14 (2025-01-03 (金) 09:04:02)
- 15 (2025-06-19 (木) 12:41:37)
- 16 (2025-06-19 (木) 12:43:47)
TITLE:LookAndFeelの一覧を取得する #navi(../) RIGHT:Posted by [[terai]] at 2009-01-19 *LookAndFeelの一覧を取得する [#n56e30d7] インストールされているLookAndFeelの一覧を取得し、これらを切り替えるためのメニューバーを作成します。[[SwingSet3>https://swingset3.dev.java.net/]]からの引用です。 -&jnlp; -&jar; -&zip; #screenshot **サンプルコード [#hedae77c] #code{{ private ButtonGroup lookAndFeelRadioGroup; private String lookAndFeel; protected JMenu createLookAndFeelMenu() { JMenu menu = new JMenu("LookAndFeel"); lookAndFeel = UIManager.getLookAndFeel().getClass().getName(); lookAndFeelRadioGroup = new ButtonGroup(); for(UIManager.LookAndFeelInfo lafInfo: UIManager.getInstalledLookAndFeels()) { menu.add(createLookAndFeelItem(lafInfo.getName(), lafInfo.getClassName())); } return menu; } protected JRadioButtonMenuItem createLookAndFeelItem(String lafName, String lafClassName) { JRadioButtonMenuItem lafItem = new JRadioButtonMenuItem(); lafItem.setSelected(lafClassName.equals(lookAndFeel)); lafItem.setHideActionText(true); lafItem.setAction(new AbstractAction() { public void actionPerformed(ActionEvent e) { ButtonModel m = lookAndFeelRadioGroup.getSelection(); try{ setLookAndFeel(m.getActionCommand()); }catch(Exception ex) { ex.printStackTrace(); } } }); lafItem.setText(lafName); lafItem.setActionCommand(lafClassName); lookAndFeelRadioGroup.add(lafItem); return lafItem; } public void setLookAndFeel(String lookAndFeel) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException { String oldLookAndFeel = this.lookAndFeel; if (oldLookAndFeel != lookAndFeel) { UIManager.setLookAndFeel(lookAndFeel); this.lookAndFeel = lookAndFeel; updateLookAndFeel(); firePropertyChange("lookAndFeel", oldLookAndFeel, lookAndFeel); } } private void updateLookAndFeel() { Window windows[] = Frame.getWindows(); for(Window window : windows) { SwingUtilities.updateComponentTreeUI(window); } } }} **解説 [#q3a14a56] 上記のサンプルでは、UIManager.getInstalledLookAndFeels()メソッドを使用してUIManager.LookAndFeelInfoのリストを取得しています。 **参考リンク [#p2860eba] -[[SwingSet3>https://swingset3.dev.java.net/]] -[[Look and Feelの変更>Swing/LookAndFeel]] --こちらは、SwingSet2からの引用です。 **コメント [#k986f53e] #comment