package magic.ui.screen.keywords;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingUtilities;
/**
* A transparent scroll pane that handles the scrolling
* characteristics for the list of {@code JTextArea} entries.
*/
@SuppressWarnings("serial")
class KeywordsScrollPane extends JScrollPane {
KeywordsScrollPane() {
setDefaultProperties();
getViewport().add(new KeywordsScrollablePanel());
setScrollbarToTop();
}
private void setDefaultProperties() {
setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
getVerticalScrollBar().setUnitIncrement(50);
getVerticalScrollBar().setBlockIncrement(50);
setOpaque(false);
setBorder(null);
getViewport().setOpaque(false);
}
private void setScrollbarToTop() {
SwingUtilities.invokeLater(() -> {
getVerticalScrollBar().setValue(0);
});
}
}