001 /*
002 * LAPIS lightweight structured text processing system
003 *
004 * Copyright (C) 1998-2002 Carnegie Mellon University,
005 * Copyright (C) 2003 Massachusetts Institute of Technology.
006 * All rights reserved.
007 *
008 * This library is free software; you can redistribute it
009 * and/or modify it under the terms of the GNU General
010 * Public License as published by the Free Software
011 * Foundation, version 2.
012 *
013 * LAPIS homepage: http://graphics.lcs.mit.edu/lapis/
014 */
015
016 package lapisx.swing;
017
018 import java.awt.*;
019 import javax.swing.*;
020
021 public class HighlightingScrollPane extends JScrollPane {
022
023 static {
024 UIManager.put ("HighlightingScrollBarUI", "lapisx.swing.HighlightingScrollBarUI");
025 }
026
027
028 public HighlightingScrollPane () {
029 super ();
030 }
031
032 public HighlightingScrollPane (Component view) {
033 super (view);
034 }
035
036 public JScrollBar createVerticalScrollBar () {
037 return new HighlightingScrollBar (JScrollBar.VERTICAL);
038 }
039
040 public JScrollBar createHorizontalScrollBar () {
041 return new HighlightingScrollBar (JScrollBar.HORIZONTAL);
042 }
043
044 public void setVerticalHighlighter (ScrollBarHighlighter h) {
045 ((HighlightingScrollBar) getVerticalScrollBar ()).setHighlighter (h);
046 }
047
048 public ScrollBarHighlighter getVerticalHighlighter () {
049 return ((HighlightingScrollBar) getVerticalScrollBar ()).getHighlighter ();
050 }
051
052 public void setHorizontalHighlighter (ScrollBarHighlighter h) {
053 ((HighlightingScrollBar) getHorizontalScrollBar ()).setHighlighter (h);
054 }
055
056 public ScrollBarHighlighter getHorizontalHighlighter () {
057 return ((HighlightingScrollBar) getHorizontalScrollBar ()).getHighlighter ();
058 }
059
060 public class HighlightingScrollBar extends ScrollBar {
061 ScrollBarHighlighter highlighter;
062
063 public HighlightingScrollBar (int orientation) {
064 super (orientation);
065 }
066
067 public String getUIClassID () {
068 return "HighlightingScrollBarUI";
069 }
070
071 public void setHighlighter (ScrollBarHighlighter h) {
072 this.highlighter = h;
073 }
074
075 public ScrollBarHighlighter getHighlighter () {
076 return highlighter;
077 }
078 }
079
080 }