⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 skinpreviewwindow.java

📁 JAVA皮肤设计,很不错的!!现与大家共同学习
💻 JAVA
字号:
/* ==================================================================== * * Skin Look And Feel 6.7 License. * * Copyright (c) 2000-2006 L2FProd.com.  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in *    the documentation and/or other materials provided with the *    distribution. * * 3. The end-user documentation included with the redistribution, if *    any, must include the following acknowlegement: *       "This product includes software developed by L2FProd.com *        (http://www.L2FProd.com/)." *    Alternately, this acknowlegement may appear in the software itself, *    if and wherever such third-party acknowlegements normally appear. * * 4. The names "Skin Look And Feel", "SkinLF" and "L2FProd.com" must not *    be used to endorse or promote products derived from this software *    without prior written permission. For written permission, please *    contact info@L2FProd.com. * * 5. Products derived from this software may not be called "SkinLF" *    nor may "SkinLF" appear in their names without prior written *    permission of L2FProd.com. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED.  IN NO EVENT SHALL L2FPROD.COM OR ITS CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ==================================================================== */package com.l2fprod.gui.plaf.skin;import com.l2fprod.util.WindowUtils;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.BoundedRangeModel;import javax.swing.Box;import javax.swing.BoxLayout;import javax.swing.ButtonGroup;import javax.swing.DefaultBoundedRangeModel;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JCheckBoxMenuItem;import javax.swing.JComboBox;import javax.swing.JDesktopPane;import javax.swing.JFrame;import javax.swing.JInternalFrame;import javax.swing.JList;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.JProgressBar;import javax.swing.JRadioButton;import javax.swing.JScrollPane;import javax.swing.JSlider;import javax.swing.JTabbedPane;import javax.swing.JTable;import javax.swing.JToggleButton;import javax.swing.JTree;import javax.swing.Timer;import javax.swing.UIManager;/** * SkinPreview Window. <br> * * * @author    $Author: l2fprod $ * @created   27 avril 2002 * @version   $Revision: 1.3 $, $Date: 2006/07/22 08:47:19 $ */public class SkinPreviewWindow extends JFrame {  /**   * Constructor for the SkinPreviewWindow object   */  public SkinPreviewWindow() {    super();    JTabbedPane tabs = new JTabbedPane();    getContentPane().add("Center", tabs);    tabs.addTab("Buttons", new ButtonTest());    tabs.addTab("CheckBox", new CheckBoxTest());    tabs.addTab("Radio", new RadioTest());    tabs.addTab("Progress", new ProgressTest());    tabs.addTab("Desktop", new InternalTest());    tabs.addTab("Scrollbars", new ScrollTest());    tabs.addTab("List", new ListTest());    tabs.addTab("Table", new TableTest());    JMenuBar menubar = new JMenuBar();    JMenu menu = new JMenu("File");    menu.add(new JCheckBoxMenuItem("Check Box ?"));    JMenu submenu = new JMenu("Sub menu");    submenu.add(new JMenuItem("Hi!"));    menu.add(submenu);    menu.add(new JMenuItem("Exit"));    menubar.add(menu);    setJMenuBar(menubar);    WindowUtils.sizeTo(this, 0.5d, 0.5d);    WindowUtils.centerOnScreen(this);    addWindowListener(      new WindowAdapter() {        public void windowClosing(WindowEvent event) {          SkinPreviewWindow.this.dispose();        }      });  }  /**   * Runs the skin preview demo.   *   * @param args           The command line arguments   * @exception Exception  Description of Exception   */  public static void main(String[] args) throws Exception {    Skin skin = null;    if (args.length > 1) {      skin = new CompoundSkin(SkinLookAndFeel.loadSkin(args[0]),          SkinLookAndFeel.loadSkin(args[1]));    }    else {      skin = SkinLookAndFeel.loadSkin(args[0]);    }    SkinLookAndFeel.setSkin(skin);    UIManager.setLookAndFeel("com.l2fprod.gui.plaf.skin.SkinLookAndFeel");  }  /**   * Demonstrates buttons.   */  static class ButtonTest extends JPanel {    /**     * Constructor for the ButtonTest object     */    ButtonTest() {      setLayout(new BorderLayout());      add("North", new JButton("North"));      add("East", new JButton("East"));      add("South", new JButton("South"));      add("West", new JButton("West"));      JButton b = new JButton("Center");      b.setEnabled(false);      add("Center", b);    }  }  /**   * Demonstrates check boxes.   */  static class CheckBoxTest extends JPanel {    /**     * Constructor for the CheckBoxTest object     */    CheckBoxTest() {      setLayout(new BorderLayout());      Box p = new Box(BoxLayout.Y_AXIS);      p.add(new JCheckBox("Hello ???"));      p.add(Box.createVerticalStrut(3));      p.add(new JComboBox(new String[]{"1", "2", "4", "8"}));      p.add(Box.createVerticalStrut(3));      JComboBox editable = new JComboBox(new String[]{"1", "2", "4", "8"});      editable.setEditable(true);      p.add(editable);      p.add(Box.createVerticalStrut(3));      JPanel toggles = new JPanel();      toggles.setLayout(new FlowLayout());      ButtonGroup group = new ButtonGroup();      JToggleButton button;      button = new JToggleButton("Hello 1");      toggles.add(button);      group.add(button);      button = new JToggleButton("Hello 2");      toggles.add(button);      group.add(button);      button = new JToggleButton("Hello 3");      toggles.add(button);      group.add(button);      p.add(toggles);      add("North", p);    }  }  /**   * Demonstrates radio buttons.   */  static class RadioTest extends JPanel {    /**     * Constructor for the RadioTest object     */    RadioTest() {      ButtonGroup group = new ButtonGroup();      setLayout(new GridLayout(3, 1));      JRadioButton button;      button = new JRadioButton("Hello 1");      add(button);      group.add(button);      button = new JRadioButton("Hello 2");      add(button);      group.add(button);      button = new JRadioButton("Hello 3");      add(button);      group.add(button);    }  }  /**   * Demonstrates slider controlls and progress bars.   */  static class ProgressTest extends JPanel {    /**     * Constructor for the ProgressTest object     */    ProgressTest() {      setLayout(new BorderLayout());      final BoundedRangeModel model = new DefaultBoundedRangeModel(0, 0, 0, 100);      JProgressBar progress = new JProgressBar(model);      add("South", progress);      JSlider slider = new JSlider(model);      add("North", slider);      slider = new JSlider(JSlider.VERTICAL);      slider.setModel(model);      add("West", slider);      progress = new JProgressBar(JProgressBar.VERTICAL);      progress.setModel(model);      add("East", progress);      new Timer(50, new ActionListener() {        int counter = 0;        public void actionPerformed(ActionEvent e) {          if (model.getValue() >= 100) {            counter += 20;            if (counter >= 500) model.setValue(0);          } else {            model.setValue(model.getValue() + 2);            counter = 0;          }        }      }).start();    }  }  /**   * Tests internal frames.   */  static class InternalTest extends JPanel {    /**     * Constructor for the InternalTest object     */    InternalTest() {      setLayout(new BorderLayout());      JDesktopPane desk = new JDesktopPane();      add("Center", new JScrollPane(desk));      desk.putClientProperty("JDesktopPane.backgroundEnabled", Boolean.TRUE);      JInternalFrame frame = new JInternalFrame("A Frame", true, true, true, true);      frame.getContentPane().add(new JButton("Ola"));      frame.setVisible(true);      frame.setSize(200, 100);      desk.add(frame);      frame = new JInternalFrame("An other Frame", true, true, true, true);      frame.getContentPane().add(new JButton("Hello"));      frame.setMaximizable(false);      frame.setVisible(true);      frame.setSize(200, 200);      frame.setLocation(50, 50);      desk.add(frame);    }  }  /**   * Tests scrollbars.   */  static class ScrollTest extends JPanel {    /**     * Constructor for the ScrollTest object     */    ScrollTest() {      setLayout(new BorderLayout());      add("Center", new JScrollPane(new JTree()));    }  }  /**   * Tests lists.   */  static class ListTest extends JPanel {    /**     * Constructor for the ListTest object     */    ListTest() {      setLayout(new BorderLayout());      String[] values = new String[50];      for (int i = 0, c = values.length; i < c; i++) {        values[i] = "Item " + i;      }      add("Center", new JScrollPane(new JList(values)));    }  }  /**   * Tests tables.   */  static class TableTest extends JPanel {    /**     * Constructor for the TableTest object     */    TableTest() {      setLayout(new BorderLayout());      String[] columns = new String[4];      String[][] rowData = new String[10][4];      for (int i = 0, c = rowData[0].length; i < c; i++) {        columns[i] = "Column" + i;        for (int j = 0, d = rowData.length; j < d; j++) {          rowData[j][i] = "Cell(" + i + ", " + j + ")";        }      }      add("Center", new JScrollPane(new JTable(rowData, columns)));    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -