Hallo,
ich mache gerade mit Java einen einfachen Editor. Der Editor soll auch eine Zeilennummerierung bekommen. Dafür habe ich neben dem Textfeld(das in einem JScrollPane ist) noch ein (schmales) Textfeld in dem die Zeilennummern angezeigt werden. Das feld mit dem Text hat einen Documentlistener. Sobald man Zeilen hinzufügt oder entfernt wird die Methode zeilenummern aufgerufen:
public void zeilennummern() {
if(textfeld.getLineCount() != zeilen) {
StringBuilder baue = new StringBuilder(1000);
for(int i = 1; i <= textfeld.getLineCount(); i++) {
baue.append(String.valueOf(i)+"\n");
}
zeilennummern.setText(baue.toString());
zeilen = textfeld.getLineCount();
}
}
wenn man aber am oberen Ende des Textfelds eine Zeile einfügt, wird das JScrollPane ganz nach unten gescrollt. Wie kann ich das verhindern???
Außerdem kann man Zeilenumbruch aktivieren. Dann stimmt aber die Zeilennummerierung nicht mehr(siehe Anhang). Gibt es dafür eine Lösung?