我有一个JTextPane坐在JFrame中,弹出菜单通过JTextPane.setComponentPopupMenu方法分配给JTextPane。
我想给JTextPane一个“类似Word”的弹出行为。我的意思是,如果您在当前文本选择之外单击鼠标右键,则插入符号将重新定位到您右键单击的位置,其中菜单选项会影响禁用的文本选择(例如剪切,复制或粗体)。如果在当前文本选择中右键单击,弹出窗口将显示启用文本选择的选项,文本选择将保持不变,插入符将不会移动。
问题是我似乎无法找到 where 我可以放置处理选择更改的代码。我试过了:
所以,我想问题是我似乎无法在弹出菜单变得可见之前找到一个放置代码的位置,但是知道了触发弹出菜单的mouseEvent。我必须在这里遗漏一些东西。
答案 0 :(得分:0)
使用通过JTextPane.setComponentPopupMenu方法分配给JTextPane的弹出菜单。
您可以使用较旧的方法显示基于您自己的自定义MouseListener的弹出窗口。
请参阅Bringing Up a Popup Menu上的Swing教程中的部分。现在您可以访问MouseEvent,这样您就可以将该点转换为Document中的某个点,以便您知道在选定或未选择的文本上进行点击的位置。