Set Viewport Size (i.e. Extent Size)
Set View to JPanel
Set View to JTable
Get Viewport Position
Set Viewport Position
Get Viewport Component (i.e. View) Preferred Size
Get Viewport Component (i.e. View) Size
Set Viewport Component (i.e. View) Size
Scroll the Viewport to a Desired Rectangle
Set the Scroll Mode
Set View to JPanel
Set View to JTable
Get Viewport Position
Set Viewport Position
Get Viewport Component (i.e. View) Preferred Size
Get Viewport Component (i.e. View) Size
Set Viewport Component (i.e. View) Size
Scroll the Viewport to a Desired Rectangle
Set the Scroll Mode
Set Viewport Size (i.e. Extent Size)
Dimension viewExtentDim = jScrollPane1.getViewport().getExtentSize();
System.out.println("Viewport Extent Size: (" + (int) viewExtentDim.getWidth() + "w, " + (int) viewExtentDim.getHeight() + "h)");
Set View to JPanel
JPanel panel = new JPanel();
panel.setBorder(new LineBorder(Color.GREEN, 4));
panel.setPreferredSize(new Dimension(2000, 2000));
jScrollPane1.setViewportView(panel);
Set View to JTable
String[][] data = new String[][]{new String[]{"v11","v12"},new String[]{"v21","v22"}};
String[] columns = new String[]{"First","Second"};
JTable jTable = new JTable(data, columns);
jTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
jScrollPane1.setViewportView(jTable);
Note:
Will use the JTable's JTableHeader as the ColumnHeader of the JScrollPane.
Disable the AutoResizeMode to not stretch the JTable.
Get Viewport Position
Point position = jScrollPane1.getViewport().getViewPosition();
System.out.println("Viewport Component Position: (" + position.x + ", " + position.y + ")");
Set Viewport Position
if (jScrollPane1.getViewport().getView() != null) {
jScrollPane1.getViewport().setViewPosition(new Point(100, 100));
}
Get Viewport Component (i.e. View) Preferred Size
if (jScrollPane1.getViewport().getView() != null) {
Dimension viewCompPrefDim = jScrollPane1.getViewport().getView().getPreferredSize();
System.out.println("Viewport Component Prefered Size: (" + (int) viewCompPrefDim.getWidth() + "w, " + (int) viewCompPrefDim.getHeight() + "h)");
}
Get Viewport Component (i.e. View) Size
Dimension viewCompDim = jScrollPane1.getViewport().getViewSize();
System.out.println("Viewport Component Size: (" + (int) viewCompDim.getWidth() + "w, " + (int) viewCompDim.getHeight() + "h)");
Set Viewport Component (i.e. View) Size
if (jScrollPane1.getViewport().getView() != null) {
jScrollPane1.getViewport().getView().setSize(new Dimension(2000, 2000));
jScrollPane1.getViewport().getView().setPreferredSize(new Dimension(2000, 2000));
}
Scroll the Viewport to a Desired Rectangle
Rectangle rect = new Rectangle(200,200,500,500);
jScrollPane1.getViewport().scrollRectToVisible(rect);
Description:
With the current possition of the Viewport's upper left corner being considered
(0,0), scroll to make the provided Rectangle as visible as possible.
Set the Scroll Mode
jScrollPane1.getViewport().setScrollMode(JViewport.SIMPLE_SCROLL_MODE);
Description:
Used to set the drawing mode used during scrolling the Viewport
BLIT_SCROLL_MODE (default): A fast method of drawing (Bit Block Transfer) that uses Graphics.copyArea
BACKINGSTORE_SCROLL_MODE: Painting will start at this JViewport (not an ancestor)
SIMPLE_SCROLL_MODE: Redraw from stratch everytime