addCaretListener(new CaretListener() {
public void caretUpdate(CaretEvent ce) {
JTextComponent comp = (JTextComponent)ce.getSource();
int pos = comp.getCaretPosition();
Element root = comp.getDocument().getDefaultRootElement();
lineNum = root.getElementIndex(pos);
Element line = root.getElement(lineNum);
try {
String text = comp.getDocument().getText(line.getStartOffset(), line.getEndOffset() - line.getStartOffset());
CodeDoc document = (CodeDoc) other.getDocument();
text = ((CodeView) comp).hasAssm ? CodeView.fromAssm(text) : CodeView.toAssm(text);
document.replace(document.getDefaultRootElement().getElement(lineNum).getStartOffset(), document.getDefaultRootElement().getElement(lineNum).getEndOffset(), text, null);
} catch (BadLocationException e) {
throw new RuntimeException(e);
}
}
});
addCaretListener(new CaretListener() {
public void caretUpdate(CaretEvent ce) {
JTextComponent comp = (JTextComponent)ce.getSource();
int pos = comp.getCaretPosition();
Element root = comp.getDocument().getDefaultRootElement();
lineNum = root.getElementIndex(pos);
Element line = root.getElement(lineNum);
try {
String text = comp.getDocument().getText(line.getStartOffset(), line.getEndOffset() - line.getStartOffset());
CodeDoc document = (CodeDoc) other.getDocument();
text = ((CodeView) comp).hasAssm ? CodeView.fromAssm(text) : CodeView.toAssm(text);
document.replace(document.getDefaultRootElement().getElement(lineNum).getStartOffset(), document.getDefaultRootElement().getElement(lineNum).getEndOffset(), text, null);
} catch (BadLocationException e) {
throw new RuntimeException(e);
}
}
});