public void actionPerformed(ActionEvent e) {
JTextComponent ed = org.netbeans.api.editor.EditorRegistry.lastFocusedComponent();
Document document = ed.getDocument();
FileObject currentDocFo = NbEditorUtilities.getFileObject(document);
Element el = document.getDefaultRootElement();
Line myLine = NbEditorUtilities.getLine(document, ed.getCaretPosition(), false);
File currentDocFile = org.openide.filesystems.FileUtil.toFile(currentDocFo);
if (currentDocFile == null) {
return;
}
String currentFile = currentDocFile.getAbsolutePath();
String key = generateBreakpointKey(myLine.getLineNumber(), currentDocFo);
BreakpointListener change = new BreakpointListener();
change.originalLine = myLine.getLineNumber();
change.key = key;
change.currentDocFo = currentDocFo;
change.caret = ed.getCaretPosition();
myLine.addPropertyChangeListener(change);
String addRemove = "";
if (TextToSpeechOptions.isScreenReading()) {
speech.speak(addRemove + " Breakpoint at line " + myLine.getLineNumber(), SpeechPriority.HIGHEST);
}
}