<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FSwing_JFC%2FDefaultMetalTheme</id>
		<title>Java/Swing JFC/DefaultMetalTheme - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FSwing_JFC%2FDefaultMetalTheme"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Swing_JFC/DefaultMetalTheme&amp;action=history"/>
		<updated>2026-04-07T12:26:30Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Swing_JFC/DefaultMetalTheme&amp;diff=7383&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Swing_JFC/DefaultMetalTheme&amp;diff=7383&amp;oldid=prev"/>
				<updated>2010-06-01T06:41:46Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:41, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Swing_JFC/DefaultMetalTheme&amp;diff=7382&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Swing_JFC/DefaultMetalTheme&amp;diff=7382&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:44Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== extends DefaultMetalTheme ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright (c) 1995 - 2008 Sun Microsystems, Inc.  All rights reserved.&lt;br /&gt;
 *&lt;br /&gt;
 * Redistribution and use in source and binary forms, with or without&lt;br /&gt;
 * modification, are permitted provided that the following conditions&lt;br /&gt;
 * are met:&lt;br /&gt;
 *&lt;br /&gt;
 *   - Redistributions of source code must retain the above copyright&lt;br /&gt;
 *     notice, this list of conditions and the following disclaimer.&lt;br /&gt;
 *&lt;br /&gt;
 *   - Redistributions in binary form must reproduce the above copyright&lt;br /&gt;
 *     notice, this list of conditions and the following disclaimer in the&lt;br /&gt;
 *     documentation and/or other materials provided with the distribution.&lt;br /&gt;
 *&lt;br /&gt;
 *   - Neither the name of Sun Microsystems nor the names of its&lt;br /&gt;
 *     contributors may be used to endorse or promote products derived&lt;br /&gt;
 *     from this software without specific prior written permission.&lt;br /&gt;
 *&lt;br /&gt;
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &amp;quot;AS&lt;br /&gt;
 * IS&amp;quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,&lt;br /&gt;
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR&lt;br /&gt;
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR&lt;br /&gt;
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,&lt;br /&gt;
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,&lt;br /&gt;
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR&lt;br /&gt;
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF&lt;br /&gt;
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING&lt;br /&gt;
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS&lt;br /&gt;
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
 */&lt;br /&gt;
/*&lt;br /&gt;
 * LookAndFeelDemo.java is a Java SE 6 example that requires&lt;br /&gt;
 * one other file (TestTheme.java).&lt;br /&gt;
 */&lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.ruponent;&lt;br /&gt;
import java.awt.GridLayout;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import java.awt.event.KeyEvent;&lt;br /&gt;
import javax.swing.BorderFactory;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JLabel;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.UIManager;&lt;br /&gt;
import javax.swing.UnsupportedLookAndFeelException;&lt;br /&gt;
import javax.swing.plaf.ColorUIResource;&lt;br /&gt;
import javax.swing.plaf.metal.DefaultMetalTheme;&lt;br /&gt;
import javax.swing.plaf.metal.MetalLookAndFeel;&lt;br /&gt;
import javax.swing.plaf.metal.OceanTheme;&lt;br /&gt;
public class LookAndFeelDemo implements ActionListener {&lt;br /&gt;
  private static String labelPrefix = &amp;quot;Number of button clicks: &amp;quot;;&lt;br /&gt;
  private int numClicks = 0;&lt;br /&gt;
  final JLabel label = new JLabel(labelPrefix + &amp;quot;0    &amp;quot;);&lt;br /&gt;
  // Specify the look and feel to use by defining the LOOKANDFEEL constant&lt;br /&gt;
  // Valid values are: null (use the default), &amp;quot;Metal&amp;quot;, &amp;quot;System&amp;quot;, &amp;quot;Motif&amp;quot;,&lt;br /&gt;
  // and &amp;quot;GTK&amp;quot;&lt;br /&gt;
  final static String LOOKANDFEEL = &amp;quot;Metal&amp;quot;;&lt;br /&gt;
  // If you choose the Metal L&amp;amp;F, you can also choose a theme.&lt;br /&gt;
  // Specify the theme to use by defining the THEME constant&lt;br /&gt;
  // Valid values are: &amp;quot;DefaultMetal&amp;quot;, &amp;quot;Ocean&amp;quot;, and &amp;quot;Test&amp;quot;&lt;br /&gt;
  final static String THEME = &amp;quot;Test&amp;quot;;&lt;br /&gt;
  public Component createComponents() {&lt;br /&gt;
    JButton button = new JButton(&amp;quot;I&amp;quot;m a Swing button!&amp;quot;);&lt;br /&gt;
    button.setMnemonic(KeyEvent.VK_I);&lt;br /&gt;
    button.addActionListener(this);&lt;br /&gt;
    label.setLabelFor(button);&lt;br /&gt;
    /*&lt;br /&gt;
     * An easy way to put space between a top-level container and its contents&lt;br /&gt;
     * is to put the contents in a JPanel that has an &amp;quot;empty&amp;quot; border.&lt;br /&gt;
     */&lt;br /&gt;
    JPanel pane = new JPanel(new GridLayout(0, 1));&lt;br /&gt;
    pane.add(button);&lt;br /&gt;
    pane.add(label);&lt;br /&gt;
    pane.setBorder(BorderFactory.createEmptyBorder(30, // top&lt;br /&gt;
        30, // left&lt;br /&gt;
        10, // bottom&lt;br /&gt;
        30) // right&lt;br /&gt;
        );&lt;br /&gt;
    return pane;&lt;br /&gt;
  }&lt;br /&gt;
  public void actionPerformed(ActionEvent e) {&lt;br /&gt;
    numClicks++;&lt;br /&gt;
    label.setText(labelPrefix + numClicks);&lt;br /&gt;
  }&lt;br /&gt;
  private static void initLookAndFeel() {&lt;br /&gt;
    String lookAndFeel = null;&lt;br /&gt;
    if (LOOKANDFEEL != null) {&lt;br /&gt;
      if (LOOKANDFEEL.equals(&amp;quot;Metal&amp;quot;)) {&lt;br /&gt;
        lookAndFeel = UIManager.getCrossPlatformLookAndFeelClassName();&lt;br /&gt;
        // an alternative way to set the Metal L&amp;amp;F is to replace the&lt;br /&gt;
        // previous line with:&lt;br /&gt;
        // lookAndFeel = &amp;quot;javax.swing.plaf.metal.MetalLookAndFeel&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      else if (LOOKANDFEEL.equals(&amp;quot;System&amp;quot;)) {&lt;br /&gt;
        lookAndFeel = UIManager.getSystemLookAndFeelClassName();&lt;br /&gt;
      }&lt;br /&gt;
      else if (LOOKANDFEEL.equals(&amp;quot;Motif&amp;quot;)) {&lt;br /&gt;
        lookAndFeel = &amp;quot;com.sun.java.swing.plaf.motif.MotifLookAndFeel&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      else if (LOOKANDFEEL.equals(&amp;quot;GTK&amp;quot;)) {&lt;br /&gt;
        lookAndFeel = &amp;quot;com.sun.java.swing.plaf.gtk.GTKLookAndFeel&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      else {&lt;br /&gt;
        System.err.println(&amp;quot;Unexpected value of LOOKANDFEEL specified: &amp;quot;&lt;br /&gt;
            + LOOKANDFEEL);&lt;br /&gt;
        lookAndFeel = UIManager.getCrossPlatformLookAndFeelClassName();&lt;br /&gt;
      }&lt;br /&gt;
      try {&lt;br /&gt;
        UIManager.setLookAndFeel(lookAndFeel);&lt;br /&gt;
        // If L&amp;amp;F = &amp;quot;Metal&amp;quot;, set the theme&lt;br /&gt;
        if (LOOKANDFEEL.equals(&amp;quot;Metal&amp;quot;)) {&lt;br /&gt;
          if (THEME.equals(&amp;quot;DefaultMetal&amp;quot;))&lt;br /&gt;
            MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme());&lt;br /&gt;
          else if (THEME.equals(&amp;quot;Ocean&amp;quot;))&lt;br /&gt;
            MetalLookAndFeel.setCurrentTheme(new OceanTheme());&lt;br /&gt;
          else&lt;br /&gt;
            MetalLookAndFeel.setCurrentTheme(new TestTheme());&lt;br /&gt;
          UIManager.setLookAndFeel(new MetalLookAndFeel());&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      catch (ClassNotFoundException e) {&lt;br /&gt;
        System.err.println(&amp;quot;Couldn&amp;quot;t find class for specified look and feel:&amp;quot;&lt;br /&gt;
            + lookAndFeel);&lt;br /&gt;
        System.err&lt;br /&gt;
            .println(&amp;quot;Did you include the L&amp;amp;F library in the class path?&amp;quot;);&lt;br /&gt;
        System.err.println(&amp;quot;Using the default look and feel.&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      catch (UnsupportedLookAndFeelException e) {&lt;br /&gt;
        System.err.println(&amp;quot;Can&amp;quot;t use the specified look and feel (&amp;quot;&lt;br /&gt;
            + lookAndFeel + &amp;quot;) on this platform.&amp;quot;);&lt;br /&gt;
        System.err.println(&amp;quot;Using the default look and feel.&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      catch (Exception e) {&lt;br /&gt;
        System.err.println(&amp;quot;Couldn&amp;quot;t get specified look and feel (&amp;quot;&lt;br /&gt;
            + lookAndFeel + &amp;quot;), for some reason.&amp;quot;);&lt;br /&gt;
        System.err.println(&amp;quot;Using the default look and feel.&amp;quot;);&lt;br /&gt;
        e.printStackTrace();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Create the GUI and show it. For thread safety, this method should be&lt;br /&gt;
   * invoked from the event dispatch thread.&lt;br /&gt;
   */&lt;br /&gt;
  private static void createAndShowGUI() {&lt;br /&gt;
    // Set the look and feel.&lt;br /&gt;
    initLookAndFeel();&lt;br /&gt;
    // Make sure we have nice window decorations.&lt;br /&gt;
    JFrame.setDefaultLookAndFeelDecorated(true);&lt;br /&gt;
    // Create and set up the window.&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;SwingApplication&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    LookAndFeelDemo app = new LookAndFeelDemo();&lt;br /&gt;
    Component contents = app.createComponents();&lt;br /&gt;
    frame.getContentPane().add(contents, BorderLayout.CENTER);&lt;br /&gt;
    // Display the window.&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    // Schedule a job for the event dispatch thread:&lt;br /&gt;
    // creating and showing this application&amp;quot;s GUI.&lt;br /&gt;
    javax.swing.SwingUtilities.invokeLater(new Runnable() {&lt;br /&gt;
      public void run() {&lt;br /&gt;
        createAndShowGUI();&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright (c) 1995 - 2008 Sun Microsystems, Inc. All rights reserved.&lt;br /&gt;
 * &lt;br /&gt;
 * Redistribution and use in source and binary forms, with or without&lt;br /&gt;
 * modification, are permitted provided that the following conditions are met:&lt;br /&gt;
 *  - Redistributions of source code must retain the above copyright notice,&lt;br /&gt;
 * this list of conditions and the following disclaimer.&lt;br /&gt;
 *  - Redistributions in binary form must reproduce the above copyright notice,&lt;br /&gt;
 * this list of conditions and the following disclaimer in the documentation&lt;br /&gt;
 * and/or other materials provided with the distribution.&lt;br /&gt;
 *  - Neither the name of Sun Microsystems nor the names of its contributors may&lt;br /&gt;
 * be used to endorse or promote products derived from this software without&lt;br /&gt;
 * specific prior written permission.&lt;br /&gt;
 * &lt;br /&gt;
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &amp;quot;AS IS&amp;quot;&lt;br /&gt;
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE&lt;br /&gt;
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE&lt;br /&gt;
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE&lt;br /&gt;
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR&lt;br /&gt;
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF&lt;br /&gt;
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS&lt;br /&gt;
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN&lt;br /&gt;
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)&lt;br /&gt;
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE&lt;br /&gt;
 * POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;
 */&lt;br /&gt;
/**&lt;br /&gt;
 * This class describes a theme using &amp;quot;primary&amp;quot; colors. You can change the&lt;br /&gt;
 * colors to anything else you want.&lt;br /&gt;
 * &lt;br /&gt;
 * 1.9 07/26/04&lt;br /&gt;
 */&lt;br /&gt;
class TestTheme extends DefaultMetalTheme {&lt;br /&gt;
  public String getName() {&lt;br /&gt;
    return &amp;quot;Toms&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  private final ColorUIResource primary1 = new ColorUIResource(255, 255, 0);&lt;br /&gt;
  private final ColorUIResource primary2 = new ColorUIResource(0, 255, 255);&lt;br /&gt;
  private final ColorUIResource primary3 = new ColorUIResource(255, 0, 255);&lt;br /&gt;
  protected ColorUIResource getPrimary1() {&lt;br /&gt;
    return primary1;&lt;br /&gt;
  }&lt;br /&gt;
  protected ColorUIResource getPrimary2() {&lt;br /&gt;
    return primary2;&lt;br /&gt;
  }&lt;br /&gt;
  protected ColorUIResource getPrimary3() {&lt;br /&gt;
    return primary3;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>