jPopupMenu在Java Swing中的Hyperlink位置

时间:2014-07-08 05:22:01

标签: java swing jtextpane jeditorpane jpopupmenu

我正在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);
    }
}      

有人在这件事上引导我。 提前谢谢。

1 个答案:

答案 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