/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package app.navigps.gui.VerboseTextPane; import app.navigps.gui.VerboseTextPane.MyTextPane.DocumentStatus; import java.awt.event.AdjustmentEvent; import java.awt.event.AdjustmentListener; import javax.swing.JScrollBar; import javax.swing.JScrollPane; import javax.swing.JTextPane; /** * * @author vara */ public class JTextPaneForVerboseInfo extends JScrollPane{ private MyTextPane textPane = new MyTextPane(); /** * */ public JTextPaneForVerboseInfo(){ add(textPane); setViewportView(textPane); getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() { @Override public void adjustmentValueChanged(AdjustmentEvent e) { if (!e.getValueIsAdjusting()) { return; } JScrollBar sb = JTextPaneForVerboseInfo.this.getVerticalScrollBar(); int currentVal = sb.getValue(); int range = sb.getMaximum() - sb.getMinimum() - sb.getModel().getExtent(); boolean scrollVal = range == currentVal; if(scrollVal != textPane.isAutoScroll()) textPane.setAutoScroll(scrollVal); } }); } /** * * @return */ public JTextPane getTextEditor(){ return getTextPane(); } /** * * @return */ public DocumentStatus getInforamtionPipe(){ return textPane.getDocumentStatus(); } /** * @return the textPane */ protected JTextPane getTextPane() { return textPane; } }