<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSwing%2FJScrollPane</id>
		<title>Java Tutorial/Swing/JScrollPane - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSwing%2FJScrollPane"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Swing/JScrollPane&amp;action=history"/>
		<updated>2026-04-07T20:25:22Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Swing/JScrollPane&amp;diff=3997&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Swing/JScrollPane&amp;diff=3997&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</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:44, 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://jexp.ru/index.php?title=Java_Tutorial/Swing/JScrollPane&amp;diff=3998&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Swing/JScrollPane&amp;diff=3998&amp;oldid=prev"/>
				<updated>2010-05-31T15:34:20Z</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;==  A corner component is displayed only if the two components at a right angle from the corner are currently shown. ==&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;
import java.awt.BorderLayout;&lt;br /&gt;
import javax.swing.JButton;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTable;&lt;br /&gt;
public class JScrollPaneHeadersandCorners {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    final Object rows[][] = { { &amp;quot;one&amp;quot;, &amp;quot;1&amp;quot; }, { &amp;quot;two&amp;quot;, &amp;quot;2&amp;quot; }, { &amp;quot;three&amp;quot;, &amp;quot;3&amp;quot; }, { &amp;quot;four&amp;quot;, &amp;quot;4&amp;quot; },&lt;br /&gt;
    };&lt;br /&gt;
    final Object headers[] = { &amp;quot;English&amp;quot;, &amp;quot;#&amp;quot; };&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Table Printing&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    final JTable table = new JTable(rows, headers);&lt;br /&gt;
    JScrollPane scrollPane = new JScrollPane(table);&lt;br /&gt;
    frame.add(scrollPane, BorderLayout.CENTER);&lt;br /&gt;
    scrollPane.setCorner(JScrollPane.UPPER_RIGHT_CORNER, new JButton(&amp;quot;...&amp;quot;));&lt;br /&gt;
    frame.setSize(300, 150);&lt;br /&gt;
    frame.setVisible(true);&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;
==  Add component to JScrollPane ==&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;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.Color;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.awt.FlowLayout;&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.JScrollPane;&lt;br /&gt;
import javax.swing.border.LineBorder;&lt;br /&gt;
public class AddingToJScrollPane {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Tabbed Pane Sample&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JLabel label = new JLabel(&amp;quot;Label&amp;quot;);&lt;br /&gt;
    label.setPreferredSize(new Dimension(1000, 1000));&lt;br /&gt;
    JScrollPane jScrollPane = new JScrollPane(label);&lt;br /&gt;
    JButton jButton1 = new JButton();&lt;br /&gt;
    jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);&lt;br /&gt;
    jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);&lt;br /&gt;
    jScrollPane.setViewportBorder(new LineBorder(Color.RED));&lt;br /&gt;
    jScrollPane.getViewport().add(jButton1, null);&lt;br /&gt;
    frame.add(jScrollPane, BorderLayout.CENTER);&lt;br /&gt;
    frame.setSize(400, 150);&lt;br /&gt;
    frame.setVisible(true);&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;
==  Adding component to JScrollPane using its constructor ==&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;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JLabel;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
public class AddingToJScrollPane {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Tabbed Pane Sample&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JLabel label = new JLabel(&amp;quot;Label&amp;quot;);&lt;br /&gt;
    label.setPreferredSize(new Dimension(1000, 1000));&lt;br /&gt;
    JScrollPane jScrollPane = new JScrollPane(label);&lt;br /&gt;
    frame.add(jScrollPane, BorderLayout.CENTER);&lt;br /&gt;
    frame.setSize(400, 150);&lt;br /&gt;
    frame.setVisible(true);&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;
==  Create a scrollable list ==&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;
import javax.swing.JList;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JList list = new JList();&lt;br /&gt;
    JScrollPane scrollableList = new JScrollPane(list);&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;
==  Customizing a JScrollPane Look and Feel ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Property StringObject TypeScrollPane.actionMapActionMapScrollPane.ancestorInputMapInputMapScrollPane.ancestorInputMap.RightToLeftInputMapScrollPane.backgroundColorScrollPane.borderBorderScrollPane.fontFontScrollPane.foregroundColorScrollPane.viewportBorderBorderScrollPane.viewportBorderInsetsInsetsScrollPaneUIString&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get the default scrollbar policy ==&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;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextArea;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JTextArea textArea = new JTextArea();&lt;br /&gt;
    JScrollPane pane = new JScrollPane(textArea);&lt;br /&gt;
    // Get the default scrollbar policy&lt;br /&gt;
    int hpolicy = pane.getHorizontalScrollBarPolicy();&lt;br /&gt;
    // JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED;&lt;br /&gt;
    int vpolicy = pane.getVerticalScrollBarPolicy();&lt;br /&gt;
    // JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED;&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;
==  JScrollPane: display a large component within a smaller display area ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Adding the component to a JViewport&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Identifying the component to be scrolled can be done in one of two ways.&amp;lt;/p&amp;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;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import javax.swing.JFrame;&lt;br /&gt;
import javax.swing.JLabel;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
public class JScrollPaneViewport {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Tabbed Pane Sample&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
&lt;br /&gt;
    JLabel label = new JLabel(&amp;quot;Label&amp;quot;);&lt;br /&gt;
    label.setPreferredSize(new Dimension(1000,1000));&lt;br /&gt;
    JScrollPane jScrollPane = new JScrollPane();&lt;br /&gt;
    jScrollPane.setViewportView(label);&lt;br /&gt;
    frame.add(jScrollPane, BorderLayout.CENTER);&lt;br /&gt;
    frame.setSize(400, 150);&lt;br /&gt;
    frame.setVisible(true);&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;
==  JScrollPane Scrollbar Policies ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Policy TypeDescriptionVERTICAL_SCROLLBAR_AS_NEEDEDDisplays designated scrollbar if viewport is too small to display its entire contentsHORIZONTAL_SCROLLBAR_AS_NEEDEDDisplays designated scrollbar if viewport is too small to display its entire contentsVERTICAL_SCROLLBAR_ALWAYSAlways displays designated scrollbarHORIZONTAL_SCROLLBAR_ALWAYSAlways displays designated scrollbarVERTICAL_SCROLLBAR_NEVERNever displays designated scrollbarHORIZONTAL_SCROLLBAR_NEVERNever displays designated scrollbar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Listening for Scrollbar Value Changes in a JScrollPane Container ==&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;
import java.awt.Adjustable;&lt;br /&gt;
import java.awt.event.AdjustmentEvent;&lt;br /&gt;
import java.awt.event.AdjustmentListener;&lt;br /&gt;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextArea;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JTextArea textArea = new JTextArea();&lt;br /&gt;
    JScrollPane pane = new JScrollPane(textArea);&lt;br /&gt;
    // Listen for value changes in the scroll pane&amp;quot;s scrollbars&lt;br /&gt;
    AdjustmentListener listener = new MyAdjustmentListener();&lt;br /&gt;
    pane.getHorizontalScrollBar().addAdjustmentListener(listener);&lt;br /&gt;
    pane.getVerticalScrollBar().addAdjustmentListener(listener);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class MyAdjustmentListener implements AdjustmentListener {&lt;br /&gt;
  public void adjustmentValueChanged(AdjustmentEvent evt) {&lt;br /&gt;
    Adjustable source = evt.getAdjustable();&lt;br /&gt;
    if (evt.getValueIsAdjusting()) {&lt;br /&gt;
      return;&lt;br /&gt;
    }&lt;br /&gt;
    int orient = source.getOrientation();&lt;br /&gt;
    if (orient == Adjustable.HORIZONTAL) {&lt;br /&gt;
      System.out.println(&amp;quot;from horizontal scrollbar&amp;quot;); &lt;br /&gt;
    } else {&lt;br /&gt;
      System.out.println(&amp;quot;from vertical scrollbar&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    int type = evt.getAdjustmentType();&lt;br /&gt;
    switch (type) {&lt;br /&gt;
    case AdjustmentEvent.UNIT_INCREMENT:&lt;br /&gt;
      System.out.println(&amp;quot;Scrollbar was increased by one unit&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case AdjustmentEvent.UNIT_DECREMENT:&lt;br /&gt;
      System.out.println(&amp;quot;Scrollbar was decreased by one unit&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case AdjustmentEvent.BLOCK_INCREMENT:&lt;br /&gt;
      System.out.println(&amp;quot;Scrollbar was increased by one block&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case AdjustmentEvent.BLOCK_DECREMENT:&lt;br /&gt;
      System.out.println(&amp;quot;Scrollbar was decreased by one block&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    case AdjustmentEvent.TRACK:&lt;br /&gt;
      System.out.println(&amp;quot;The knob on the scrollbar was dragged&amp;quot;);&lt;br /&gt;
      break;&lt;br /&gt;
    }&lt;br /&gt;
    int value = evt.getValue();&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;
==  Make the scrollbars always appear ==&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;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextArea;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JTextArea textArea = new JTextArea();&lt;br /&gt;
    JScrollPane pane = new JScrollPane(textArea);&lt;br /&gt;
    pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);&lt;br /&gt;
    pane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);&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;
==  Make the scrollbars never appear ==&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;
import javax.swing.JScrollPane;&lt;br /&gt;
import javax.swing.JTextArea;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    JTextArea textArea = new JTextArea();&lt;br /&gt;
    JScrollPane pane = new JScrollPane(textArea);&lt;br /&gt;
    pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);&lt;br /&gt;
    pane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);&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;
==  Resetting the Viewport Position: move JScrollPane to the top ==&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;
import java.awt.event.*;&lt;br /&gt;
import javax.swing.*;&lt;br /&gt;
import java.awt.BorderLayout;&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;
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(&lt;br /&gt;
        &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;
public class JScrollPaneToTopActionDemo {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    JFrame frame = new JFrame(&amp;quot;Tabbed Pane Sample&amp;quot;);&lt;br /&gt;
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JLabel label = new JLabel(&amp;quot;Label&amp;quot;);&lt;br /&gt;
    label.setPreferredSize(new Dimension(1000, 1000));&lt;br /&gt;
    JScrollPane jScrollPane = new JScrollPane(label);&lt;br /&gt;
    JButton bn = new JButton(&amp;quot;Move&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    bn.addActionListener(new JScrollPaneToTopAction(jScrollPane));&lt;br /&gt;
    &lt;br /&gt;
    frame.add(bn, BorderLayout.SOUTH);&lt;br /&gt;
    frame.add(jScrollPane, BorderLayout.CENTER);&lt;br /&gt;
    frame.setSize(400, 150);&lt;br /&gt;
    frame.setVisible(true);&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;
==  Set Continuous Layout ==&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;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.Dimension;&lt;br /&gt;
import java.awt.GridLayout;&lt;br /&gt;
import java.awt.event.WindowAdapter;&lt;br /&gt;
import java.awt.event.WindowEvent;&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.JSplitPane;&lt;br /&gt;
public class Test extends JFrame {&lt;br /&gt;
  public Test() {&lt;br /&gt;
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JPanel panel1 = new JPanel(new GridLayout(1, 5));&lt;br /&gt;
    for (int i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
      panel1.add(new JLabel(&amp;quot;Left &amp;quot; + i));&lt;br /&gt;
    }&lt;br /&gt;
    panel1.setPreferredSize(new Dimension(250, 50));&lt;br /&gt;
    JPanel panel2 = new JPanel(new GridLayout(1, 5));&lt;br /&gt;
    for (int i = 0; i &amp;lt; 5; i++) {&lt;br /&gt;
      panel2.add(new JLabel(&amp;quot;Right &amp;quot; + i));&lt;br /&gt;
    }&lt;br /&gt;
    panel2.setPreferredSize(new Dimension(250, 50));&lt;br /&gt;
    final JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,&lt;br /&gt;
        panel1, panel2);&lt;br /&gt;
    split.setContinuousLayout(true);&lt;br /&gt;
    getContentPane().add(split, BorderLayout.CENTER);&lt;br /&gt;
    pack();&lt;br /&gt;
    setSize(500, 100);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    new Test().setVisible(true);&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;
==  Set Row Header View ==&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;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.GridLayout;&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.JScrollPane;&lt;br /&gt;
public class JScrollPaneRowHeaderView extends JFrame {&lt;br /&gt;
  public JScrollPaneRowHeaderView() {&lt;br /&gt;
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    JPanel panel = new JPanel(new GridLayout(5, 10));&lt;br /&gt;
    for (int i = 0; i &amp;lt; 50; i++) {&lt;br /&gt;
      panel.add(new JLabel(&amp;quot;  Label &amp;quot; + i));&lt;br /&gt;
    }&lt;br /&gt;
    JScrollPane scrolled = new JScrollPane(panel);&lt;br /&gt;
    scrolled.setRowHeaderView(new JLabel(&amp;quot;Labels: &amp;quot;));&lt;br /&gt;
    getContentPane().add(scrolled, BorderLayout.CENTER);&lt;br /&gt;
    pack();&lt;br /&gt;
    setSize(300, 100);&lt;br /&gt;
    setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    new JScrollPaneRowHeaderView();&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;
==  Working with JScrollPane Headers and Corners ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;To place a component in one of the corners of the JScrollPane, call setCorner(String key, Component corner)&lt;br /&gt;
key is&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;JScrollPane.LOWER_LEFT_CORNER,&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;JScrollPane.LOWER_RIGHT_CORNER,&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;JScrollPane.UPPER_LEFT_CORNER, or&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;JScrollPane.UPPER_RIGHT_CORNER.&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;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;
import java.awt.BorderLayout;&lt;br /&gt;
import java.awt.GridLayout;&lt;br /&gt;
import javax.swing.JButton;&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.ScrollPaneConstants;&lt;br /&gt;
import javax.swing.SwingUtilities;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] a) {&lt;br /&gt;
    JFrame f = new JFrame();&lt;br /&gt;
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
    f.add(new JScrollPaneDemo());&lt;br /&gt;
    f.setSize(500, 500);&lt;br /&gt;
    f.setVisible(true);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class JScrollPaneDemo extends JPanel {&lt;br /&gt;
  public void init() {&lt;br /&gt;
    try {&lt;br /&gt;
      SwingUtilities.invokeAndWait(new Runnable() {&lt;br /&gt;
        public void run() {&lt;br /&gt;
          makeGUI();&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
    } catch (Exception exc) {&lt;br /&gt;
      System.out.println(&amp;quot;Can&amp;quot;t create because of &amp;quot; + exc);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private void makeGUI() {&lt;br /&gt;
    setLayout(new BorderLayout());&lt;br /&gt;
    JPanel jp = new JPanel();&lt;br /&gt;
    jp.setLayout(new GridLayout(20, 20));&lt;br /&gt;
    int b = 0;&lt;br /&gt;
    for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
      for (int j = 0; j &amp;lt; 20; j++) {&lt;br /&gt;
        jp.add(new JButton(&amp;quot;Button &amp;quot; + b));&lt;br /&gt;
        ++b;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;&lt;br /&gt;
    int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;&lt;br /&gt;
    JScrollPane jsp = new JScrollPane(jp, v, h);&lt;br /&gt;
    add(jsp, BorderLayout.CENTER);&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>