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/] [ButtonDemo.java] - Rev 781

Compare with Previous | Blame | View Log

/* ButtonDemo.java -- An example showing various buttons in Swing.
   Copyright (C) 2005, 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.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JToggleButton;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.plaf.metal.MetalIconFactory;
 
/**
 * A simple button demo showing various buttons in different states.
 */
public class ButtonDemo
  extends JPanel
  implements ActionListener
{
 
  private JCheckBox buttonState;
  private JButton button1;
  private JButton button2;
  private JButton button3;
  private JButton button4;
 
  private JCheckBox toggleState;
  private JToggleButton toggle1;
  private JToggleButton toggle2;
  private JToggleButton toggle3;
  private JToggleButton toggle4;
 
  private JCheckBox checkBoxState;
  private JCheckBox checkBox1;
  private JCheckBox checkBox2;
  private JCheckBox checkBox3;
 
  private JCheckBox radioState;
  private JRadioButton radio1;
  private JRadioButton radio2;
  private JRadioButton radio3;
 
  /**
   * Creates a new demo instance.
   */
  public ButtonDemo()
  {
    createContent();
    // initFrameContent() is only called (from main) when running this app
    // standalone
  }
 
  /**
   * 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(4, 1));
    panel.add(createButtonPanel());
    panel.add(createTogglePanel());
    panel.add(createCheckBoxPanel());
    panel.add(createRadioPanel());
    add(panel);
  }
 
  private JPanel createButtonPanel()
  {
    JPanel panel = new JPanel(new BorderLayout());
    this.buttonState = new JCheckBox("Enabled", true);
    this.buttonState.setActionCommand("BUTTON_STATE");
    this.buttonState.addActionListener(this);
    panel.add(this.buttonState, BorderLayout.EAST);
 
    JPanel buttonPanel = new JPanel();
    buttonPanel.setBorder(BorderFactory.createTitledBorder("JButton"));
    this.button1 = new JButton("Button 1");
 
    this.button2 = new JButton("Button 2");
    this.button2.setIcon(MetalIconFactory.getInternalFrameDefaultMenuIcon());
 
    this.button3 = new JButton("Button 3");
    this.button3.setIcon(MetalIconFactory.getFileChooserHomeFolderIcon());
    this.button3.setHorizontalTextPosition(SwingConstants.CENTER);
    this.button3.setVerticalTextPosition(SwingConstants.BOTTOM);
 
    this.button4 = new JButton("Button 4");
    this.button4.setIcon(MetalIconFactory.getFileChooserUpFolderIcon());
    this.button4.setText(null);
 
    buttonPanel.add(button1);
    buttonPanel.add(button2);
    buttonPanel.add(button3);
    buttonPanel.add(button4);
 
    panel.add(buttonPanel);
 
    return panel;
  }
 
  private JPanel createTogglePanel()
  {
    JPanel panel = new JPanel(new BorderLayout());
 
    this.toggleState = new JCheckBox("Enabled", true);
    this.toggleState.setActionCommand("TOGGLE_STATE");
    this.toggleState.addActionListener(this);
 
    panel.add(this.toggleState, BorderLayout.EAST);
 
    JPanel buttonPanel = new JPanel();
    buttonPanel.setBorder(BorderFactory.createTitledBorder("JToggleButton"));
 
    this.toggle1 = new JToggleButton("Toggle 1");
 
    this.toggle2 = new JToggleButton("Toggle 2");
    this.toggle2.setIcon(MetalIconFactory.getInternalFrameDefaultMenuIcon());
 
    this.toggle3 = new JToggleButton("Toggle 3");
    this.toggle3.setIcon(MetalIconFactory.getFileChooserHomeFolderIcon());
    this.toggle3.setHorizontalTextPosition(SwingConstants.CENTER);
    this.toggle3.setVerticalTextPosition(SwingConstants.BOTTOM);
 
    this.toggle4 = new JToggleButton("Toggle 4");
    this.toggle4.setIcon(MetalIconFactory.getFileChooserUpFolderIcon());
    this.toggle4.setText(null);
 
    ButtonGroup toggleGroup = new ButtonGroup();
    toggleGroup.add(toggle1);
    toggleGroup.add(toggle2);
    toggleGroup.add(toggle3);
    toggleGroup.add(toggle4);
 
    buttonPanel.add(toggle1);
    buttonPanel.add(toggle2);
    buttonPanel.add(toggle3);
    buttonPanel.add(toggle4);
 
    panel.add(buttonPanel);
 
    return panel;
  }
 
  private JPanel createCheckBoxPanel()
  {
    JPanel panel = new JPanel(new BorderLayout());
 
    this.checkBoxState = new JCheckBox("Enabled", true);
    this.checkBoxState.setActionCommand("CHECKBOX_STATE");
    this.checkBoxState.addActionListener(this);
 
    panel.add(this.checkBoxState, BorderLayout.EAST);
 
    JPanel buttonPanel = new JPanel();
    buttonPanel.setBorder(BorderFactory.createTitledBorder("JCheckBox"));
    this.checkBox1 = new JCheckBox("CheckBox 1");
 
    this.checkBox2 = new JCheckBox("CheckBox 2");
 
    this.checkBox3 = new JCheckBox("CheckBox 3");
 
    buttonPanel.add(checkBox1);
    buttonPanel.add(checkBox2);
    buttonPanel.add(checkBox3);
 
    panel.add(buttonPanel);
 
    return panel;
  }
 
  private JPanel createRadioPanel()
  {
    JPanel panel = new JPanel(new BorderLayout());
 
    this.radioState = new JCheckBox("Enabled", true);
    this.radioState.setActionCommand("RADIO_STATE");
    this.radioState.addActionListener(this);
    panel.add(this.radioState, BorderLayout.EAST);
 
    JPanel buttonPanel = new JPanel();
    buttonPanel.setBorder(BorderFactory.createTitledBorder("JRadioButton"));
    this.radio1 = new JRadioButton("Radio 1");
 
    this.radio2 = new JRadioButton("Radio 2");
 
    this.radio3 = new JRadioButton("Radio 3");
 
    ButtonGroup radioGroup = new ButtonGroup();
    radioGroup.add(radio1);
    radioGroup.add(radio2);
    radioGroup.add(radio3);
 
    buttonPanel.add(radio1);
    buttonPanel.add(radio2);
    buttonPanel.add(radio3);
 
    panel.add(buttonPanel);
 
    return panel;
  }
 
  public void actionPerformed(ActionEvent e)
  {
    if (e.getActionCommand().equals("BUTTON_STATE"))
    {
      button1.setEnabled(buttonState.isSelected());
      button2.setEnabled(buttonState.isSelected());
      button3.setEnabled(buttonState.isSelected());
      button4.setEnabled(buttonState.isSelected());
    }
    else if (e.getActionCommand().equals("TOGGLE_STATE"))
    {
      toggle1.setEnabled(toggleState.isSelected());
      toggle2.setEnabled(toggleState.isSelected());
      toggle3.setEnabled(toggleState.isSelected());
      toggle4.setEnabled(toggleState.isSelected());
    }
    else if (e.getActionCommand().equals("CHECKBOX_STATE"))
    {
      checkBox1.setEnabled(checkBoxState.isSelected());
      checkBox2.setEnabled(checkBoxState.isSelected());
      checkBox3.setEnabled(checkBoxState.isSelected());
    }
    else if (e.getActionCommand().equals("RADIO_STATE"))
    {
      radio1.setEnabled(radioState.isSelected());
      radio2.setEnabled(radioState.isSelected());
      radio3.setEnabled(radioState.isSelected());
    }
    else if (e.getActionCommand().equals("CLOSE"))
    {
      System.exit(0);
    }
  }
 
  public static void main(String[] args)
  {
    SwingUtilities.invokeLater
    (new Runnable()
     {
       public void run()
       {
         ButtonDemo app = new ButtonDemo();
         app.initFrameContent();
         JFrame frame = new JFrame("ButtonDemo");
         frame.getContentPane().add(app);
         frame.pack();
         frame.setVisible(true);
       }
     });
  }
 
  /**
   * Returns a DemoFactory that creates a ButtonDemo.
   *
   * @return a DemoFactory that creates a ButtonDemo
   */
  public static DemoFactory createDemoFactory()
  {
    return new DemoFactory()
    {
      public JComponent createDemo()
      {
        return new ButtonDemo();
      }
    };
  }
}
 

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.