OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [classpath/] [examples/] [gnu/] [classpath/] [examples/] [swing/] [SpinnerDemo.java] - Rev 781

Compare with Previous | Blame | View Log

/* SpinnerDemo.java -- An example showing various spinners in Swing.
   Copyright (C) 2006,  Free Software Foundation, Inc.
 
This file is part of GNU Classpath examples.
 
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
 
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.
 
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING.  If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
*/
 
 
package gnu.classpath.examples.swing;
 
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Calendar;
import java.util.Date;
 
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerDateModel;
import javax.swing.SpinnerListModel;
import javax.swing.SpinnerNumberModel;
import javax.swing.SwingUtilities;
 
/**
 * A simple demo showing various spinners in different states.
 */
public class SpinnerDemo
  extends JPanel
  implements ActionListener
{
  private JCheckBox spinnerState1;
  private JSpinner spinner1;
  private JSpinner spinner2;
 
  private JCheckBox spinnerState2;
  private JSpinner spinner3;
  private JSpinner spinner4;
 
  private JCheckBox spinnerState3;
  private JSpinner spinner5;
  private JSpinner spinner6;
 
  /**
   * Creates a new demo instance.
   */
  public SpinnerDemo()
  {
    super();
    createContent();
  }
 
  /**
   * When the demo is run independently, the frame is displayed, so we should
   * initialise the content panel (including the demo content and a close
   * button).  But when the demo is run as part of the Swing activity board,
   * only the demo content panel is used, the frame itself is never displayed,
   * so we can avoid this step.
   */
  void initFrameContent()
  {
    JPanel closePanel = new JPanel();
    JButton closeButton = new JButton("Close");
    closeButton.setActionCommand("CLOSE");
    closeButton.addActionListener(this);
    closePanel.add(closeButton);
    add(closePanel, BorderLayout.SOUTH);
  }
 
  /**
   * Returns a panel with the demo content.  The panel
   * uses a BorderLayout(), and the BorderLayout.SOUTH area
   * is empty, to allow callers to add controls to the
   * bottom of the panel if they want to (a close button is
   * added if this demo is being run as a standalone demo).
   */
  private void createContent()
  {
    setLayout(new BorderLayout());
    JPanel panel = new JPanel(new GridLayout(3, 1));
    panel.add(createPanel1());
    panel.add(createPanel2());
    panel.add(createPanel3());
    add(panel);
  }
 
  private JPanel createPanel1()
  {
    JPanel panel = new JPanel(new BorderLayout());
    this.spinnerState1 = new JCheckBox("Enabled", true);
    this.spinnerState1.setActionCommand("COMBO_STATE1");
    this.spinnerState1.addActionListener(this);
    panel.add(this.spinnerState1, BorderLayout.EAST);
 
    JPanel controlPanel = new JPanel();
    controlPanel.setBorder(BorderFactory.createTitledBorder(
        "Number Spinner: "));
    this.spinner1 = new JSpinner(new SpinnerNumberModel(5.0, 0.0, 10.0, 0.5));
    this.spinner2 = new JSpinner(new SpinnerNumberModel(50, 0, 100, 5));
    this.spinner2.setFont(new Font("Dialog", Font.PLAIN, 20));
    controlPanel.add(this.spinner1);
    controlPanel.add(this.spinner2);
 
    panel.add(controlPanel);
 
    return panel;
  }
 
  private JPanel createPanel2()
  {
    JPanel panel = new JPanel(new BorderLayout());
    this.spinnerState2 = new JCheckBox("Enabled", true);
    this.spinnerState2.setActionCommand("COMBO_STATE2");
    this.spinnerState2.addActionListener(this);
    panel.add(this.spinnerState2, BorderLayout.EAST);
 
    JPanel controlPanel = new JPanel();
    controlPanel.setBorder(BorderFactory.createTitledBorder("Date Spinner: "));
    this.spinner3 = new JSpinner(new SpinnerDateModel(new Date(), null, null,
        Calendar.DATE));
 
    this.spinner4 = new JSpinner(new SpinnerDateModel(new Date(), null, null,
        Calendar.YEAR));
    this.spinner4.setFont(new Font("Dialog", Font.PLAIN, 20));
 
    controlPanel.add(this.spinner3);
    controlPanel.add(this.spinner4);
 
    panel.add(controlPanel);
 
    return panel;
  }
 
  private JPanel createPanel3()
  {
    JPanel panel = new JPanel(new BorderLayout());
    this.spinnerState3 = new JCheckBox("Enabled", true);
    this.spinnerState3.setActionCommand("COMBO_STATE3");
    this.spinnerState3.addActionListener(this);
    panel.add(this.spinnerState3, BorderLayout.EAST);
 
    JPanel controlPanel = new JPanel();
    controlPanel.setBorder(BorderFactory.createTitledBorder("List Spinner: "));
    this.spinner5 = new JSpinner(new SpinnerListModel(new Object[] {"Red",
        "Orange", "Yellow", "Green", "Blue", "Indigo", "Violet"}));
 
    this.spinner6 = new JSpinner(new SpinnerListModel(new Object[] {"Red",
        "Orange", "Yellow", "Green", "Blue", "Indigo", "Violet"}));
    this.spinner6.setValue("Yellow");
    this.spinner6.setFont(new Font("Dialog", Font.PLAIN, 20));
 
    controlPanel.add(this.spinner5);
    controlPanel.add(this.spinner6);
 
    panel.add(controlPanel);
 
    return panel;
  }
 
  public void actionPerformed(ActionEvent e)
  {
    if (e.getActionCommand().equals("COMBO_STATE1"))
    {
      spinner1.setEnabled(spinnerState1.isSelected());
      spinner2.setEnabled(spinnerState1.isSelected());
    }
    else if (e.getActionCommand().equals("COMBO_STATE2"))
    {
      spinner3.setEnabled(spinnerState2.isSelected());
      spinner4.setEnabled(spinnerState2.isSelected());
    }
    else if (e.getActionCommand().equals("COMBO_STATE3"))
    {
      spinner5.setEnabled(spinnerState3.isSelected());
      spinner6.setEnabled(spinnerState3.isSelected());
    }
    else if (e.getActionCommand().equals("CLOSE"))
    {
      System.exit(0);
    }
  }
 
  public static void main(String[] args)
  {
    SwingUtilities.invokeLater
    (new Runnable()
     {
       public void run()
       {
         SpinnerDemo app = new SpinnerDemo();
         app.initFrameContent();
         JFrame frame = new JFrame("Spinner Demo");
         frame.getContentPane().add(app);
         frame.pack();
         frame.setVisible(true);
       }
     });
  }
 
  /**
   * Returns a DemoFactory that creates a SpinnerDemo.
   *
   * @return a DemoFactory that creates a SpinnerDemo
   */
  public static DemoFactory createDemoFactory()
  {
    return new DemoFactory()
    {
      public JComponent createDemo()
      {
        return new SpinnerDemo();
      }
    };
  }
}
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.