public FindSynonymsActionHandler(String word, int position, Chapter c, AbstractEditorPanel p) { this.word = word; this.position = position; // this.chapter = c; this.editorPanel = p; this.projectViewer = this.editorPanel.getViewer(); final FindSynonymsActionHandler _this = this; // Show a panel of all the items. this.popup = new QPopup( "Synonyms for: " + word, Environment.getIcon(Constants.FIND_ICON_NAME, Constants.ICON_POPUP), null); JButton close = UIUtils.createButton( Constants.CLOSE_ICON_NAME, Constants.ICON_MENU, "Click to close", null); List<JButton> buts = new ArrayList(); buts.add(close); this.popup.getHeader().setControls(UIUtils.createButtonBar(buts)); close.addActionListener( new ActionAdapter() { public void actionPerformed(ActionEvent ev) { _this.popup.setVisible(false); _this.editorPanel.getEditor().removeHighlight(_this.highlight); } }); p.addPopup(this.popup, true, true); /* this.highlight = this.editorPanel.getEditor ().addHighlight (position, position + word.length (), null, true); */ this.popup.setOpaque(false); this.popup.setVisible(false); this.popup.setDraggable(this.editorPanel); }