in src/syntaxhighlight/JTextComponentRowHeader.java [137:197]
public JTextComponentRowHeader(JScrollPane scrollPane, JTextComponent textComponent) {
super();
if (scrollPane == null) {
throw new NullPointerException("argument 'scrollPane' cannot be null");
}
if (textComponent == null) {
throw new NullPointerException("argument 'textComponent' cannot be null");
}
setFont(new Font("Verdana", Font.PLAIN, 10));
setForeground(Color.black);
setBackground(new Color(233, 232, 226));
this.scrollPane = scrollPane;
this.textComponent = textComponent;
panelWidth = 0;
largestRowNumber = 1;
textComponentHeight = 0;
lineNumberOffset = 0;
highlightedLineList = Collections.synchronizedList(new ArrayList<Integer>());
listenToDocumentUpdate = true;
document = textComponent.getDocument();
documentListener = new DocumentListener() {
@Override
public void insertUpdate(DocumentEvent e) {
handleEvent(e);
}
@Override
public void removeUpdate(DocumentEvent e) {
handleEvent(e);
}
@Override
public void changedUpdate(DocumentEvent e) {
handleEvent(e);
}
public void handleEvent(DocumentEvent e) {
if (!listenToDocumentUpdate) {
return;
}
Document _document = e.getDocument();
if (document == _document) {
checkPanelSize();
} else {
_document.removeDocumentListener(this);
}
}
};
document.addDocumentListener(documentListener);
checkPanelSize();
}