我正在Swing中实现一个编辑器。它显示带有超链接的纯文本。问题陈述是当用户点击超链接时,弹出菜单必须出现在鼠标位置或刚好在超链接文本下方。用户可以从菜单中选择选项,超链接的文本将更新为选择用户选项中的文本。此外,选择该选项后,菜单消失。
我正在jTextPane和jEditor窗格上尝试它。我使用hyperlinkUpdate监听器来显示弹出菜单,但它总是出现在GUI的左上角。 而且,我找不到如何更新超链接的文本。
以下是hyperlinkUpdate事件的代码:
private void jEditorPane1HyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {
if(evt.getEventType() == HyperlinkEvent.EventType.ACTIVATED){
System.out.println(evt.getDescription());
jPopupMenu1.setAlignmentX(jEditorPane1.getMousePosition().x);
jPopupMenu1.setAlignmentY(jEditorPane1.getMousePosition().y);
jPopupMenu1.setVisible(true);
}
}
有人在这件事上引导我。 提前谢谢。
答案 0 :(得分:0)
电话应该是这样的
JPopupMenu popup = new JPopupMenu();
popup.add("Item 1");
popup.add("Item 2");
popup.show(mouseEvent.getComponent(),mouseEvent.getX(),mouseEvent.getY());
在此处查看示例 http://www.experts-exchange.com/Programming/Languages/Java/Q_20143329.html