Set Row Header Size (i.e. Extent Size)
Set Row Header to JPanel
Get Row Header Position
Set View to JTextArea
Set Row Header Position
Get Row Header Component (i.e. View) Preferred Size
Get Row Header Component (i.e. View) Size
Set Row Header Component (i.e. View) Size
Scroll the Row Header to a Desired Rectangle
Set the Row Header Scroll Mode
Set Row Header to JPanel
Get Row Header Position
Set View to JTextArea
Set Row Header Position
Get Row Header Component (i.e. View) Preferred Size
Get Row Header Component (i.e. View) Size
Set Row Header Component (i.e. View) Size
Scroll the Row Header to a Desired Rectangle
Set the Row Header Scroll Mode
Set Row Header Size (i.e. Extent Size)
if(jScrollPane1.getRowHeader() != null){
Dimension extentDim = jScrollPane1.getRowHeader().getExtentSize();
System.out.println("Row Header Extent Size: (" + (int) extentDim.getWidth() + "w, " + (int) extentDim.getHeight() + "h)");
}
Set Row Header to JPanel
JPanel panel = new JPanel();
panel.setBorder(new LineBorder(Color.RED, 4));
panel.setPreferredSize(new Dimension(200, 2000));
jScrollPane1.setRowHeaderView(panel);
Get Row Header Position
if(jScrollPane1.getRowHeader() != null){
Point position = jScrollPane1.getRowHeader().getViewPosition();
System.out.println("Row Header Component Position: (" + position.x + ", " + position.y + ")");
}
Set View to JTextArea
JTextArea textArea = new JTextArea();
jScrollPane1.setViewportView(textArea);
Note:
The JTextArea will match its size to the size of the text.
Set Row Header Position
if (jScrollPane1.getRowHeader() != null && jScrollPane1.getRowHeader().getView() != null) {
jScrollPane1.getRowHeader().setViewPosition(new Point(100, 100));
}
Get Row Header Component (i.e. View) Preferred Size
if (jScrollPane1.getRowHeader() != null && jScrollPane1.getRowHeader().getView() != null) {
Dimension prefDim = jScrollPane1.getRowHeader().getView().getPreferredSize();
System.out.println("Row Header Component Prefered Size: (" + (int) prefDim.getWidth() + "w, " + (int) prefDim.getHeight() + "h)");
}
Get Row Header Component (i.e. View) Size
if (jScrollPane1.getRowHeader() != null) {
Dimension compDim = jScrollPane1.getRowHeader().getViewSize();
System.out.println("Row Header Component Size: (" + (int) compDim.getWidth() + "w, " + (int) compDim.getHeight() + "h)");
}
Note:
To ensure proper automatic scrolling, set the height of the Row Header's View
to match jScrollPane1.getViewport().getViewSize().getHeight()
Set Row Header Component (i.e. View) Size
if (jScrollPane1.getRowHeader() != null && jScrollPane1.getRowHeader().getView() != null) {
jScrollPane1.getRowHeader().getView().setSize(new Dimension(3000, 3000));
jScrollPane1.getRowHeader().getView().setPreferredSize(new Dimension(3000, 3000));
}
Note:
To ensure proper automatic scrolling, set the height of the Row Header's View
to match jScrollPane1.getViewport().getViewSize().getHeight()
Scroll the Row Header to a Desired Rectangle
if (jScrollPane1.getRowHeader() != null) {
Rectangle rect = new Rectangle(200,200,500,500);
jScrollPane1.getRowHeader().scrollRectToVisible(rect);
}
Description:
With the current possition of the Row Header's upper left corner being considered
(0,0), scroll to make the provided Rectangle as visible as possible.
Set the Row Header Scroll Mode
if (jScrollPane1.getRowHeader() != null) {
jScrollPane1.getRowHeader().setScrollMode(JViewport.BACKINGSTORE_SCROLL_MODE);
}
Description:
Used to set the drawing mode used during scrolling the Row Header
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