<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjavax.swing%2FJScrollBar</id>
		<title>Java by API/javax.swing/JScrollBar - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_by_API%2Fjavax.swing%2FJScrollBar"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/javax.swing/JScrollBar&amp;action=history"/>
		<updated>2026-04-21T13:39:48Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_by_API/javax.swing/JScrollBar&amp;diff=637&amp;oldid=prev</id>
		<title> в 17:43, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/javax.swing/JScrollBar&amp;diff=637&amp;oldid=prev"/>
				<updated>2010-05-31T17:43:48Z</updated>
		
		<summary type="html">&lt;p&gt;&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;Версия 17:43, 31 мая 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>
			</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_by_API/javax.swing/JScrollBar&amp;diff=638&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_by_API/javax.swing/JScrollBar&amp;diff=638&amp;oldid=prev"/>
				<updated>2010-05-31T14:18:48Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== JScrollBar: addAdjustmentListener(AdjustmentListener l) ==&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;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.event.AdjustmentEvent;&lt;br /&gt;
import java.awt.event.AdjustmentListener;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollBar;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    AdjustmentListener adjustmentListener = new AdjustmentListener() {&lt;br /&gt;
      public void adjustmentValueChanged(AdjustmentEvent adjustmentEvent) {&lt;br /&gt;
        System.out.println(&amp;quot;Adjusted: &amp;quot; + adjustmentEvent.getValue());&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
    JScrollBar oneJScrollBar = new JScrollBar(JScrollBar.HORIZONTAL);&lt;br /&gt;
    oneJScrollBar.addAdjustmentListener(adjustmentListener);&lt;br /&gt;
&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;ScrollBars R Us&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    frame.add(oneJScrollBar, BorderLayout.NORTH);&lt;br /&gt;
    frame.setSize(300, 200);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JScrollBar: getBlockIncrement(int direction) ==&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;
/*&lt;br /&gt;
 *&lt;br /&gt;
 * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.&lt;br /&gt;
 *&lt;br /&gt;
 * Sun grants you (&amp;quot;Licensee&amp;quot;) a non-exclusive, royalty free, license to use,&lt;br /&gt;
 * modify and redistribute this software in source and binary code form,&lt;br /&gt;
 * provided that i) this copyright notice and license appear on all copies of&lt;br /&gt;
 * the software; and ii) Licensee does not utilize the software in a manner&lt;br /&gt;
 * which is disparaging to Sun.&lt;br /&gt;
 *&lt;br /&gt;
 * This software is provided &amp;quot;AS IS,&amp;quot; without a warranty of any kind. ALL&lt;br /&gt;
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY&lt;br /&gt;
 * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR&lt;br /&gt;
 * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE&lt;br /&gt;
 * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING&lt;br /&gt;
 * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS&lt;br /&gt;
 * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,&lt;br /&gt;
 * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER&lt;br /&gt;
 * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF&lt;br /&gt;
 * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE&lt;br /&gt;
 * POSSIBILITY OF SUCH DAMAGES.&lt;br /&gt;
 *&lt;br /&gt;
 * This software is not designed or intended for use in on-line control of&lt;br /&gt;
 * aircraft, air traffic, aircraft navigation or aircraft communications; or in&lt;br /&gt;
 * the design, construction, operation or maintenance of any nuclear&lt;br /&gt;
 * facility. Licensee represents and warrants that it will not use or&lt;br /&gt;
 * redistribute the Software for such purposes.&lt;br /&gt;
 */&lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.awt.event.MouseWheelEvent;&lt;br /&gt;
import java.awt.event.MouseWheelListener;&lt;br /&gt;
import javax.swing.BorderFactory;&lt;br /&gt;
import javax.swing.JComponent;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextArea;&lt;br /&gt;
public class Main extends JPanel implements MouseWheelListener {&lt;br /&gt;
  JTextArea textArea = new JTextArea();&lt;br /&gt;
  JScrollPane scrollPane = new JScrollPane(textArea);&lt;br /&gt;
  final static String newline = &amp;quot;\n&amp;quot;;&lt;br /&gt;
  public Main() {&lt;br /&gt;
    super(new BorderLayout());&lt;br /&gt;
    textArea.setEditable(false);&lt;br /&gt;
    &lt;br /&gt;
    scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);&lt;br /&gt;
    scrollPane.setPreferredSize(new Dimension(400, 250));&lt;br /&gt;
    add(scrollPane, BorderLayout.CENTER);&lt;br /&gt;
    textArea.append(&amp;quot;This text area displays information &amp;quot; + &amp;quot;about its mouse wheel events.&amp;quot;&lt;br /&gt;
        + newline);&lt;br /&gt;
    textArea.addMouseWheelListener(this);&lt;br /&gt;
    setPreferredSize(new Dimension(450, 350));&lt;br /&gt;
    setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));&lt;br /&gt;
  }&lt;br /&gt;
  public void mouseWheelMoved(MouseWheelEvent e) {&lt;br /&gt;
    String message;&lt;br /&gt;
    int notches = e.getWheelRotation();&lt;br /&gt;
    if (notches &amp;lt; 0) {&lt;br /&gt;
      message = &amp;quot;Mouse wheel moved UP &amp;quot; + -notches + &amp;quot; notch(es)&amp;quot; + newline;&lt;br /&gt;
    } else {&lt;br /&gt;
      message = &amp;quot;Mouse wheel moved DOWN &amp;quot; + notches + &amp;quot; notch(es)&amp;quot; + newline;&lt;br /&gt;
    }&lt;br /&gt;
    if (e.getScrollType() == MouseWheelEvent.WHEEL_UNIT_SCROLL) {&lt;br /&gt;
      message += &amp;quot;    Scroll type: WHEEL_UNIT_SCROLL&amp;quot; + newline;&lt;br /&gt;
      message += &amp;quot;    Scroll amount: &amp;quot; + e.getScrollAmount() + &amp;quot; unit increments per notch&amp;quot;&lt;br /&gt;
          + newline;&lt;br /&gt;
      message += &amp;quot;    Units to scroll: &amp;quot; + e.getUnitsToScroll() + &amp;quot; unit increments&amp;quot; + newline;&lt;br /&gt;
      message += &amp;quot;    Vertical unit increment: &amp;quot;&lt;br /&gt;
          + scrollPane.getVerticalScrollBar().getUnitIncrement(1) + &amp;quot; pixels&amp;quot; + newline;&lt;br /&gt;
    } else { // scroll type == MouseWheelEvent.WHEEL_BLOCK_SCROLL&lt;br /&gt;
      message += &amp;quot;    Scroll type: WHEEL_BLOCK_SCROLL&amp;quot; + newline;&lt;br /&gt;
      message += &amp;quot;    Vertical block increment: &amp;quot;&lt;br /&gt;
          + scrollPane.getVerticalScrollBar().getBlockIncrement(1) + &amp;quot; pixels&amp;quot; + newline;&lt;br /&gt;
    }&lt;br /&gt;
    saySomething(message, e);&lt;br /&gt;
  }&lt;br /&gt;
  void saySomething(String eventDescription, MouseWheelEvent e) {&lt;br /&gt;
    textArea.append(e.getComponent().getClass().getName() + &amp;quot;: &amp;quot; + eventDescription);&lt;br /&gt;
    textArea.setCaretPosition(textArea.getDocument().getLength());&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;MouseWheelEventDemo&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JComponent newContentPane = new Main();&lt;br /&gt;
    newContentPane.setOpaque(true);&lt;br /&gt;
    frame.setContentPane(newContentPane);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JScrollBar: getMinimum() ==&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;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&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.JScrollBar;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.border.LineBorder;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Cornering Sample&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JButton button = new JButton(&amp;quot;+&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    JLabel bigLabel = new JLabel(&amp;quot;A&amp;quot;);&lt;br /&gt;
    bigLabel.setPreferredSize(new Dimension(400,400));&lt;br /&gt;
    bigLabel.setBorder(new LineBorder(Color.red));&lt;br /&gt;
    &lt;br /&gt;
    JScrollPane scrollPane = new JScrollPane(bigLabel);&lt;br /&gt;
    scrollPane.setCorner(JScrollPane.UPPER_LEFT_CORNER, button);&lt;br /&gt;
    scrollPane.setColumnHeaderView(new JLabel(&amp;quot;B&amp;quot;));&lt;br /&gt;
    scrollPane.setRowHeaderView(new JLabel(&amp;quot;C&amp;quot;));&lt;br /&gt;
    ActionListener actionListener = new JScrollPaneToTopAction(scrollPane);&lt;br /&gt;
    button.addActionListener(actionListener);&lt;br /&gt;
    frame.add(scrollPane, BorderLayout.CENTER);&lt;br /&gt;
    frame.setSize(300, 200);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class JScrollPaneToTopAction implements ActionListener {&lt;br /&gt;
  JScrollPane scrollPane;&lt;br /&gt;
  public JScrollPaneToTopAction(JScrollPane scrollPane) {&lt;br /&gt;
    if (scrollPane == null) {&lt;br /&gt;
      throw new IllegalArgumentException(&amp;quot;JScrollPaneToTopAction: null JScrollPane&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    this.scrollPane = scrollPane;&lt;br /&gt;
  }&lt;br /&gt;
  public void actionPerformed(ActionEvent actionEvent) {&lt;br /&gt;
    JScrollBar verticalScrollBar   = scrollPane.getVerticalScrollBar();&lt;br /&gt;
    JScrollBar horizontalScrollBar = scrollPane.getHorizontalScrollBar();&lt;br /&gt;
    verticalScrollBar.setValue(verticalScrollBar.getMinimum());&lt;br /&gt;
    horizontalScrollBar.setValue(horizontalScrollBar.getMinimum());&lt;br /&gt;
  }&lt;br /&gt;
}&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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JScrollBar: getModel() ==&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;
import java.awt.BorderLayout;&lt;br /&gt;
import javax.swing.BoundedRangeModel;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JProgressBar;&lt;br /&gt;
import javax.swing.JScrollBar;&lt;br /&gt;
import javax.swing.JSlider;&lt;br /&gt;
import javax.swing.event.ChangeEvent;&lt;br /&gt;
import javax.swing.event.ChangeListener;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    ChangeListener changeListener = new BoundedChangeListener();&lt;br /&gt;
    JScrollBar anotherJScrollBar = new JScrollBar(JScrollBar.HORIZONTAL);&lt;br /&gt;
    BoundedRangeModel model = anotherJScrollBar.getModel();&lt;br /&gt;
    model.addChangeListener(changeListener);&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;ScrollBars R Us&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    frame.add(anotherJScrollBar, BorderLayout.NORTH);&lt;br /&gt;
    frame.setSize(300, 200);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class BoundedChangeListener implements ChangeListener {&lt;br /&gt;
  public void stateChanged(ChangeEvent changeEvent) {&lt;br /&gt;
    Object source = changeEvent.getSource();&lt;br /&gt;
    if (source instanceof BoundedRangeModel) {&lt;br /&gt;
      BoundedRangeModel aModel = (BoundedRangeModel) source;&lt;br /&gt;
      if (!aModel.getValueIsAdjusting()) {&lt;br /&gt;
        System.out.println(&amp;quot;Changed: &amp;quot; + aModel.getValue());&lt;br /&gt;
      }&lt;br /&gt;
    } else if (source instanceof JSlider) {&lt;br /&gt;
      JSlider theJSlider = (JSlider) source;&lt;br /&gt;
      if (!theJSlider.getValueIsAdjusting()) {&lt;br /&gt;
        System.out.println(&amp;quot;Slider changed: &amp;quot; + theJSlider.getValue());&lt;br /&gt;
      }&lt;br /&gt;
    } else if (source instanceof JProgressBar) {&lt;br /&gt;
      JProgressBar theJProgressBar = (JProgressBar) source;&lt;br /&gt;
      System.out.println(&amp;quot;ProgressBar changed: &amp;quot; + theJProgressBar.getValue());&lt;br /&gt;
    } else {&lt;br /&gt;
      System.out.println(&amp;quot;Something changed: &amp;quot; + source);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JScrollBar: getUnitIncrement(int direction) ==&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;
/*&lt;br /&gt;
 *&lt;br /&gt;
 * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved.&lt;br /&gt;
 *&lt;br /&gt;
 * Sun grants you (&amp;quot;Licensee&amp;quot;) a non-exclusive, royalty free, license to use,&lt;br /&gt;
 * modify and redistribute this software in source and binary code form,&lt;br /&gt;
 * provided that i) this copyright notice and license appear on all copies of&lt;br /&gt;
 * the software; and ii) Licensee does not utilize the software in a manner&lt;br /&gt;
 * which is disparaging to Sun.&lt;br /&gt;
 *&lt;br /&gt;
 * This software is provided &amp;quot;AS IS,&amp;quot; without a warranty of any kind. ALL&lt;br /&gt;
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY&lt;br /&gt;
 * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR&lt;br /&gt;
 * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE&lt;br /&gt;
 * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING&lt;br /&gt;
 * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS&lt;br /&gt;
 * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,&lt;br /&gt;
 * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER&lt;br /&gt;
 * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF&lt;br /&gt;
 * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE&lt;br /&gt;
 * POSSIBILITY OF SUCH DAMAGES.&lt;br /&gt;
 *&lt;br /&gt;
 * This software is not designed or intended for use in on-line control of&lt;br /&gt;
 * aircraft, air traffic, aircraft navigation or aircraft communications; or in&lt;br /&gt;
 * the design, construction, operation or maintenance of any nuclear&lt;br /&gt;
 * facility. Licensee represents and warrants that it will not use or&lt;br /&gt;
 * redistribute the Software for such purposes.&lt;br /&gt;
 */&lt;br /&gt;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.awt.event.MouseWheelEvent;&lt;br /&gt;
import java.awt.event.MouseWheelListener;&lt;br /&gt;
import javax.swing.BorderFactory;&lt;br /&gt;
import javax.swing.JComponent;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextArea;&lt;br /&gt;
public class Main extends JPanel implements MouseWheelListener {&lt;br /&gt;
  JTextArea textArea = new JTextArea();&lt;br /&gt;
  JScrollPane scrollPane = new JScrollPane(textArea);&lt;br /&gt;
  final static String newline = &amp;quot;\n&amp;quot;;&lt;br /&gt;
  public Main() {&lt;br /&gt;
    super(new BorderLayout());&lt;br /&gt;
    textArea.setEditable(false);&lt;br /&gt;
    &lt;br /&gt;
    scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);&lt;br /&gt;
    scrollPane.setPreferredSize(new Dimension(400, 250));&lt;br /&gt;
    add(scrollPane, BorderLayout.CENTER);&lt;br /&gt;
    textArea.append(&amp;quot;This text area displays information &amp;quot; + &amp;quot;about its mouse wheel events.&amp;quot;&lt;br /&gt;
        + newline);&lt;br /&gt;
    textArea.addMouseWheelListener(this);&lt;br /&gt;
    setPreferredSize(new Dimension(450, 350));&lt;br /&gt;
    setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));&lt;br /&gt;
  }&lt;br /&gt;
  public void mouseWheelMoved(MouseWheelEvent e) {&lt;br /&gt;
    String message;&lt;br /&gt;
    int notches = e.getWheelRotation();&lt;br /&gt;
    if (notches &amp;lt; 0) {&lt;br /&gt;
      message = &amp;quot;Mouse wheel moved UP &amp;quot; + -notches + &amp;quot; notch(es)&amp;quot; + newline;&lt;br /&gt;
    } else {&lt;br /&gt;
      message = &amp;quot;Mouse wheel moved DOWN &amp;quot; + notches + &amp;quot; notch(es)&amp;quot; + newline;&lt;br /&gt;
    }&lt;br /&gt;
    if (e.getScrollType() == MouseWheelEvent.WHEEL_UNIT_SCROLL) {&lt;br /&gt;
      message += &amp;quot;    Scroll type: WHEEL_UNIT_SCROLL&amp;quot; + newline;&lt;br /&gt;
      message += &amp;quot;    Scroll amount: &amp;quot; + e.getScrollAmount() + &amp;quot; unit increments per notch&amp;quot;&lt;br /&gt;
          + newline;&lt;br /&gt;
      message += &amp;quot;    Units to scroll: &amp;quot; + e.getUnitsToScroll() + &amp;quot; unit increments&amp;quot; + newline;&lt;br /&gt;
      message += &amp;quot;    Vertical unit increment: &amp;quot;&lt;br /&gt;
          + scrollPane.getVerticalScrollBar().getUnitIncrement(1) + &amp;quot; pixels&amp;quot; + newline;&lt;br /&gt;
    } else { // scroll type == MouseWheelEvent.WHEEL_BLOCK_SCROLL&lt;br /&gt;
      message += &amp;quot;    Scroll type: WHEEL_BLOCK_SCROLL&amp;quot; + newline;&lt;br /&gt;
      message += &amp;quot;    Vertical block increment: &amp;quot;&lt;br /&gt;
          + scrollPane.getVerticalScrollBar().getBlockIncrement(1) + &amp;quot; pixels&amp;quot; + newline;&lt;br /&gt;
    }&lt;br /&gt;
    saySomething(message, e);&lt;br /&gt;
  }&lt;br /&gt;
  void saySomething(String eventDescription, MouseWheelEvent e) {&lt;br /&gt;
    textArea.append(e.getComponent().getClass().getName() + &amp;quot;: &amp;quot; + eventDescription);&lt;br /&gt;
    textArea.setCaretPosition(textArea.getDocument().getLength());&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;MouseWheelEventDemo&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JComponent newContentPane = new Main();&lt;br /&gt;
    newContentPane.setOpaque(true);&lt;br /&gt;
    frame.setContentPane(newContentPane);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JScrollBar.HORIZONTAL ==&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;
import java.awt.BorderLayout;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollBar;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JScrollBar oneJScrollBar = new JScrollBar(JScrollBar.HORIZONTAL);&lt;br /&gt;
    frame.add(oneJScrollBar, BorderLayout.NORTH);&lt;br /&gt;
    frame.setSize(200, 44);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JScrollBar: setBlockIncrement(int blockIncrement) ==&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;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.event.AdjustmentEvent;&lt;br /&gt;
import java.awt.event.AdjustmentListener;&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.JScrollBar;&lt;br /&gt;
public class MainClass extends JPanel {&lt;br /&gt;
  JLabel label = new JLabel();&lt;br /&gt;
  public MainClass() {&lt;br /&gt;
    super(true);&lt;br /&gt;
    &lt;br /&gt;
    setLayout(new BorderLayout());&lt;br /&gt;
    JScrollBar hbar = new JScrollBar(JScrollBar.HORIZONTAL, 30, 20, 0, 300);&lt;br /&gt;
    JScrollBar vbar = new JScrollBar(JScrollBar.VERTICAL, 30, 40, 0, 300);&lt;br /&gt;
    hbar.setUnitIncrement(2);&lt;br /&gt;
    hbar.setBlockIncrement(1);&lt;br /&gt;
    hbar.addAdjustmentListener(new MyAdjustmentListener());&lt;br /&gt;
    vbar.addAdjustmentListener(new MyAdjustmentListener());&lt;br /&gt;
    add(hbar, BorderLayout.SOUTH);&lt;br /&gt;
    add(vbar, BorderLayout.EAST);&lt;br /&gt;
    add(label, BorderLayout.CENTER);&lt;br /&gt;
  }&lt;br /&gt;
  class MyAdjustmentListener implements AdjustmentListener {&lt;br /&gt;
    public void adjustmentValueChanged(AdjustmentEvent e) {&lt;br /&gt;
      label.setText(&amp;quot;    New Value is &amp;quot; + e.getValue() + &amp;quot;      &amp;quot;);&lt;br /&gt;
      repaint();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String s[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Scroll Bar Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    frame.setContentPane(new MainClass());&lt;br /&gt;
    frame.setSize(200, 200);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JScrollBar: setFocusable(boolean focusable) ==&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;
import java.awt.Dimension;&lt;br /&gt;
import java.awt.event.FocusEvent;&lt;br /&gt;
import java.awt.event.FocusListener;&lt;br /&gt;
import java.util.Vector;&lt;br /&gt;
import javax.swing.BorderFactory;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JComboBox;&lt;br /&gt;
import javax.swing.JComponent;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JLabel;&lt;br /&gt;
import javax.swing.JList;&lt;br /&gt;
import javax.swing.JPanel;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextField;&lt;br /&gt;
public class Main extends JPanel implements FocusListener {&lt;br /&gt;
  public Main() {&lt;br /&gt;
    JTextField textField = new JTextField(&amp;quot;A TextField&amp;quot;);&lt;br /&gt;
    textField.addFocusListener(this);&lt;br /&gt;
    JLabel label = new JLabel(&amp;quot;A Label&amp;quot;);&lt;br /&gt;
    label.addFocusListener(this);&lt;br /&gt;
    add(label);&lt;br /&gt;
    String comboPrefix = &amp;quot;ComboBox Item #&amp;quot;;&lt;br /&gt;
    final int numItems = 15;&lt;br /&gt;
    Vector vector = new Vector(numItems);&lt;br /&gt;
    for (int i = 0; i &amp;lt; numItems; i++) {&lt;br /&gt;
      vector.addElement(comboPrefix + i);&lt;br /&gt;
    }&lt;br /&gt;
    JComboBox comboBox = new JComboBox(vector);&lt;br /&gt;
    comboBox.addFocusListener(this);&lt;br /&gt;
    add(comboBox);&lt;br /&gt;
    JButton button = new JButton(&amp;quot;A Button&amp;quot;);&lt;br /&gt;
    button.addFocusListener(this);&lt;br /&gt;
    add(button);&lt;br /&gt;
    String listPrefix = &amp;quot;List Item #&amp;quot;;&lt;br /&gt;
    Vector listVector = new Vector(numItems);&lt;br /&gt;
    for (int i = 0; i &amp;lt; numItems; i++) {&lt;br /&gt;
      listVector.addElement(listPrefix + i);&lt;br /&gt;
    }&lt;br /&gt;
    JList list = new JList(listVector);&lt;br /&gt;
    list.setSelectedIndex(1);&lt;br /&gt;
    list.addFocusListener(this);&lt;br /&gt;
    JScrollPane listScrollPane = new JScrollPane(list);&lt;br /&gt;
    listScrollPane.getVerticalScrollBar().setFocusable(false);&lt;br /&gt;
    listScrollPane.getHorizontalScrollBar().setFocusable(false);&lt;br /&gt;
    add(listScrollPane);&lt;br /&gt;
    setPreferredSize(new Dimension(450, 450));&lt;br /&gt;
    setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));&lt;br /&gt;
  }&lt;br /&gt;
  void displayMessage(String prefix, FocusEvent e) {&lt;br /&gt;
    System.out.println(prefix&lt;br /&gt;
        + (e.isTemporary() ? &amp;quot; (temporary):&amp;quot; : &amp;quot;:&amp;quot;)&lt;br /&gt;
        + e.getComponent().getClass().getName()&lt;br /&gt;
        + &amp;quot;; Opposite component: &amp;quot;&lt;br /&gt;
        + (e.getOppositeComponent() != null ? e.getOppositeComponent().getClass().getName()&lt;br /&gt;
            : &amp;quot;null&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;FocusEventDemo&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JComponent newContentPane = new Main();&lt;br /&gt;
    newContentPane.setOpaque(true); // content panes must be opaque&lt;br /&gt;
    frame.setContentPane(newContentPane);&lt;br /&gt;
    frame.pack();&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public void focusGained(FocusEvent e) {&lt;br /&gt;
    displayMessage(&amp;quot;Focus gained&amp;quot;, e);&lt;br /&gt;
  }&lt;br /&gt;
  public void focusLost(FocusEvent e) {&lt;br /&gt;
    displayMessage(&amp;quot;Focus lost&amp;quot;, e);&lt;br /&gt;
  }&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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JScrollBar: setUnitIncrement(int unitIncrement) ==&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;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.event.AdjustmentEvent;&lt;br /&gt;
import java.awt.event.AdjustmentListener;&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.JScrollBar;&lt;br /&gt;
public class MainClass extends JPanel {&lt;br /&gt;
  JLabel label = new JLabel();&lt;br /&gt;
  public MainClass() {&lt;br /&gt;
    super(true);&lt;br /&gt;
    &lt;br /&gt;
    setLayout(new BorderLayout());&lt;br /&gt;
    JScrollBar hbar = new JScrollBar(JScrollBar.HORIZONTAL, 30, 20, 0, 300);&lt;br /&gt;
    JScrollBar vbar = new JScrollBar(JScrollBar.VERTICAL, 30, 40, 0, 300);&lt;br /&gt;
    hbar.setUnitIncrement(2);&lt;br /&gt;
    hbar.setBlockIncrement(1);&lt;br /&gt;
    hbar.addAdjustmentListener(new MyAdjustmentListener());&lt;br /&gt;
    vbar.addAdjustmentListener(new MyAdjustmentListener());&lt;br /&gt;
    add(hbar, BorderLayout.SOUTH);&lt;br /&gt;
    add(vbar, BorderLayout.EAST);&lt;br /&gt;
    add(label, BorderLayout.CENTER);&lt;br /&gt;
  }&lt;br /&gt;
  class MyAdjustmentListener implements AdjustmentListener {&lt;br /&gt;
    public void adjustmentValueChanged(AdjustmentEvent e) {&lt;br /&gt;
      label.setText(&amp;quot;    New Value is &amp;quot; + e.getValue() + &amp;quot;      &amp;quot;);&lt;br /&gt;
      repaint();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String s[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Scroll Bar Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    frame.setContentPane(new MainClass());&lt;br /&gt;
    frame.setSize(200, 200);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== JScrollBar: setValue(int value) ==&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;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&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.JScrollBar;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.border.LineBorder;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Cornering Sample&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JButton button = new JButton(&amp;quot;+&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    JLabel bigLabel = new JLabel(&amp;quot;A&amp;quot;);&lt;br /&gt;
    bigLabel.setPreferredSize(new Dimension(400,400));&lt;br /&gt;
    bigLabel.setBorder(new LineBorder(Color.red));&lt;br /&gt;
    &lt;br /&gt;
    JScrollPane scrollPane = new JScrollPane(bigLabel);&lt;br /&gt;
    scrollPane.setCorner(JScrollPane.UPPER_LEFT_CORNER, button);&lt;br /&gt;
    scrollPane.setColumnHeaderView(new JLabel(&amp;quot;B&amp;quot;));&lt;br /&gt;
    scrollPane.setRowHeaderView(new JLabel(&amp;quot;C&amp;quot;));&lt;br /&gt;
    ActionListener actionListener = new JScrollPaneToTopAction(scrollPane);&lt;br /&gt;
    button.addActionListener(actionListener);&lt;br /&gt;
    frame.add(scrollPane, BorderLayout.CENTER);&lt;br /&gt;
    frame.setSize(300, 200);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class JScrollPaneToTopAction implements ActionListener {&lt;br /&gt;
  JScrollPane scrollPane;&lt;br /&gt;
  public JScrollPaneToTopAction(JScrollPane scrollPane) {&lt;br /&gt;
    if (scrollPane == null) {&lt;br /&gt;
      throw new IllegalArgumentException(&amp;quot;JScrollPaneToTopAction: null JScrollPane&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    this.scrollPane = scrollPane;&lt;br /&gt;
  }&lt;br /&gt;
  public void actionPerformed(ActionEvent actionEvent) {&lt;br /&gt;
    JScrollBar verticalScrollBar   = scrollPane.getVerticalScrollBar();&lt;br /&gt;
    JScrollBar horizontalScrollBar = scrollPane.getHorizontalScrollBar();&lt;br /&gt;
    verticalScrollBar.setValue(verticalScrollBar.getMinimum());&lt;br /&gt;
    horizontalScrollBar.setValue(horizontalScrollBar.getMinimum());&lt;br /&gt;
  }&lt;br /&gt;
}&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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== new JScrollBar(int orientation) ==&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;
import java.awt.BorderLayout;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollBar;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    JFrame frame = new JFrame();&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JScrollBar oneJScrollBar = new JScrollBar(JScrollBar.HORIZONTAL);&lt;br /&gt;
    frame.add(oneJScrollBar, BorderLayout.NORTH);&lt;br /&gt;
    frame.setSize(200, 44);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&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;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== new JScrollBar(int orientation, int value, int extent, int min, int max) ==&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;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.event.AdjustmentEvent;&lt;br /&gt;
import java.awt.event.AdjustmentListener;&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.JScrollBar;&lt;br /&gt;
public class MainClass extends JPanel {&lt;br /&gt;
  JLabel label = new JLabel();&lt;br /&gt;
  public MainClass() {&lt;br /&gt;
    super(true);&lt;br /&gt;
    &lt;br /&gt;
    setLayout(new BorderLayout());&lt;br /&gt;
    JScrollBar hbar = new JScrollBar(JScrollBar.HORIZONTAL, 30, 20, 0, 300);&lt;br /&gt;
    JScrollBar vbar = new JScrollBar(JScrollBar.VERTICAL, 30, 40, 0, 300);&lt;br /&gt;
    hbar.setUnitIncrement(2);&lt;br /&gt;
    hbar.setBlockIncrement(1);&lt;br /&gt;
    hbar.addAdjustmentListener(new MyAdjustmentListener());&lt;br /&gt;
    vbar.addAdjustmentListener(new MyAdjustmentListener());&lt;br /&gt;
    add(hbar, BorderLayout.SOUTH);&lt;br /&gt;
    add(vbar, BorderLayout.EAST);&lt;br /&gt;
    add(label, BorderLayout.CENTER);&lt;br /&gt;
  }&lt;br /&gt;
  class MyAdjustmentListener implements AdjustmentListener {&lt;br /&gt;
    public void adjustmentValueChanged(AdjustmentEvent e) {&lt;br /&gt;
      label.setText(&amp;quot;    New Value is &amp;quot; + e.getValue() + &amp;quot;      &amp;quot;);&lt;br /&gt;
      repaint();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String s[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Scroll Bar Example&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    frame.setContentPane(new MainClass());&lt;br /&gt;
    frame.setSize(200, 200);&lt;br /&gt;
    frame.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&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>
		<author><name>Admin</name></author>	</entry>

	</feed>