Methods Summary |
---|
protected static boolean | contains(int row, javax.swing.table.TableModel model)
if (model == null) {
return false;
}
if (row < 0) {
return false;
}
if (row >= model.getRowCount()) {
return false;
}
return true;
|
public static void | makeScrollBarTrack(java.awt.Adjustable scrollBar)Makes the specified Adjustable track if the view area expands and
the specified Adjustable is located near the of the view.
if (scrollBar == null) {
return;
}
scrollBar.addAdjustmentListener(new TrackingAdjustmentListener());
|
public static void | makeVerticalScrollBarTrack(javax.swing.JScrollPane pane)Makes the vertical scroll bar of the specified JScrollPane
track if the view expands (e.g. if rows are added to an underlying
table).
if (pane == null) {
return;
}
makeScrollBarTrack(pane.getVerticalScrollBar());
|
protected static void | moveAdjustable(int location, java.awt.Adjustable scrollBar)
if (scrollBar == null) {
return;
}
scrollBar.setValue(location);
|
protected static void | repaintLater(javax.swing.JComponent component)Work around for JTable/viewport bug.
SwingUtilities.invokeLater(new Runnable() {
public void run() {
component.repaint();
}
});
|
public static void | selectRow(int row, javax.swing.JTable table, javax.swing.JScrollPane pane)Selects a the specified row in the specified JTable and scrolls
the specified JScrollpane to the newly selected row. More importantly,
the call to repaint() delayed long enough to have the table
properly paint the newly selected row which may be offscre
if (table == null || pane == null) {
return;
}
if (contains(row, table.getModel()) == false) {
return;
}
moveAdjustable(row * table.getRowHeight(), pane.getVerticalScrollBar());
selectRow(row, table.getSelectionModel());
// repaint must be done later because moveAdjustable
// posts requests to the swing thread which must execute before
// the repaint logic gets executed.
repaintLater(table);
|
protected static void | selectRow(int row, javax.swing.ListSelectionModel model)
if (model == null) {
return;
}
model.setSelectionInterval(row, row);
|