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 }