Mega Code Archive

 
Categories / Java Tutorial / Swing
 

Resetting the Viewport Position

import java.awt.event.*; import javax.swing.*; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JScrollBar; import javax.swing.JScrollPane; class JScrollPaneToTopAction implements ActionListener {   JScrollPane scrollPane;   public JScrollPaneToTopAction(JScrollPane scrollPane) {     if (scrollPane == null) {       throw new IllegalArgumentException(         "JScrollPaneToTopAction: null JScrollPane");     }     this.scrollPane = scrollPane;   }   public void actionPerformed(ActionEvent actionEvent) {     JScrollBar verticalScrollBar = scrollPane.getVerticalScrollBar();     JScrollBar horizontalScrollBar = scrollPane.getHorizontalScrollBar();     verticalScrollBar.setValue(verticalScrollBar.getMinimum());     horizontalScrollBar.setValue(horizontalScrollBar.getMinimum());   } } public class JScrollPaneToTopActionDemo {   public static void main(String args[]) {     JFrame frame = new JFrame("Tabbed Pane Sample");     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     JLabel label = new JLabel("Label");     label.setPreferredSize(new Dimension(1000, 1000));     JScrollPane jScrollPane = new JScrollPane(label);     JButton bn = new JButton("Move");          bn.addActionListener(new JScrollPaneToTopAction(jScrollPane));          frame.add(bn, BorderLayout.SOUTH);     frame.add(jScrollPane, BorderLayout.CENTER);     frame.setSize(400, 150);     frame.setVisible(true);   } }