classpath-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cp-patches] FYI: ScrollBarDemo


From: David Gilbert
Subject: [cp-patches] FYI: ScrollBarDemo
Date: Mon, 24 Oct 2005 21:49:44 +0100
User-agent: Mozilla Thunderbird 1.0.6 (X11/20050728)

I added this small demo that I used while working on the visual appearance of the scroll bars under the MetalLookAndFeel:

2005-10-24  David Gilbert  <address@hidden>

        * examples/gnu/classpath/examples/swing/ScrollBarDemo.java: New file.

Regards,

Dave
Index: examples/gnu/classpath/examples/swing/ScrollBarDemo.java
===================================================================
RCS file: examples/gnu/classpath/examples/swing/ScrollBarDemo.java
diff -N examples/gnu/classpath/examples/swing/ScrollBarDemo.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ examples/gnu/classpath/examples/swing/ScrollBarDemo.java    24 Oct 2005 
20:44:41 -0000
@@ -0,0 +1,135 @@
+/* ScrollBarDemo.java -- An example showing scroll bars in Swing.
+   Copyright (C) 2005,  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.Color;
+import java.awt.GridLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+import javax.swing.JScrollBar;
+import javax.swing.UIManager;
+
+/**
+ * A simple scroll bar demo showing various scroll bars in different states.
+ */
+public class ScrollBarDemo 
+  extends JFrame 
+  implements ActionListener 
+{
+
+  /**
+   * Creates a new demo instance.
+   * 
+   * @param title  the frame title.
+   */
+  public ScrollBarDemo(String title) 
+  {
+    super(title);
+    getContentPane().add(createContent());
+  }
+       
+  private JPanel createContent() 
+  {
+    JPanel content = new JPanel(new BorderLayout());
+    JPanel panel = createScrollBarPanel();
+    content.add(panel);
+    JPanel closePanel = new JPanel();
+    JButton closeButton = new JButton("Close");
+    closeButton.setActionCommand("CLOSE");
+    closeButton.addActionListener(this);
+    closePanel.add(closeButton);
+    content.add(closePanel, BorderLayout.SOUTH);
+    return content;        
+  }
+    
+  private JPanel createScrollBarPanel() 
+  {
+    JPanel panel = new JPanel(new BorderLayout());
+    
+    JPanel horizontalPanel = new JPanel();
+        
+    JScrollBar scroll1a = new JScrollBar(JScrollBar.HORIZONTAL);
+    JScrollBar scroll1b = new JScrollBar(JScrollBar.HORIZONTAL);
+    scroll1b.setEnabled(false);
+    JScrollBar scroll1c = new JScrollBar(JScrollBar.HORIZONTAL);
+    scroll1c.putClientProperty("JScrollBar.isFreeStanding", Boolean.FALSE);
+    JScrollBar scroll1d = new JScrollBar(JScrollBar.HORIZONTAL);
+    scroll1d.putClientProperty("JScrollBar.isFreeStanding", Boolean.FALSE);
+    scroll1d.setEnabled(false);
+    horizontalPanel.add(scroll1a);
+    horizontalPanel.add(scroll1b);
+    horizontalPanel.add(scroll1c);
+    horizontalPanel.add(scroll1d);
+        
+    panel.add(horizontalPanel, BorderLayout.NORTH);
+     
+    JPanel verticalPanel = new JPanel();
+    verticalPanel.setLayout(new GridLayout(1, 7));
+        
+    JScrollBar scroll2a = new JScrollBar(JScrollBar.VERTICAL);
+    JScrollBar scroll2b = new JScrollBar(JScrollBar.VERTICAL);
+    scroll2b.setEnabled(false);
+    JScrollBar scroll2c = new JScrollBar(JScrollBar.VERTICAL);
+    scroll2c.putClientProperty("JScrollBar.isFreeStanding", Boolean.FALSE);
+    JScrollBar scroll2d = new JScrollBar(JScrollBar.VERTICAL);
+    scroll2d.setEnabled(false);
+    scroll2d.putClientProperty("JScrollBar.isFreeStanding", Boolean.FALSE);
+      
+    verticalPanel.add(scroll2a);
+    verticalPanel.add(new JPanel());
+    verticalPanel.add(scroll2b);
+    verticalPanel.add(new JPanel());
+    verticalPanel.add(scroll2c);
+    verticalPanel.add(new JPanel());
+    verticalPanel.add(scroll2d);
+        
+    panel.add(verticalPanel, BorderLayout.EAST);
+        
+    JPanel centerPanel = new JPanel(new GridLayout(1, 2));
+    centerPanel.add(new JScrollBar(JScrollBar.HORIZONTAL));
+    centerPanel.add(new JScrollBar(JScrollBar.VERTICAL));
+    panel.add(centerPanel);
+    return panel;        
+  }
+    
+  public void actionPerformed(ActionEvent e) 
+  {
+    if (e.getActionCommand().equals("CLOSE"))
+    {
+      System.exit(0);
+    }
+  }
+
+  public static void main(String[] args) 
+  {
+    ScrollBarDemo app = new ScrollBarDemo("ScrollBar Demo");
+    app.pack();
+    app.setVisible(true);
+  }
+
+}

reply via email to

[Prev in Thread] Current Thread [Next in Thread]