大家好我正在使用JTextArea在java swing中编写一个简单的gui编辑器。但现在我希望能够右键单击并选择剪切,复制,粘贴和选择所有字体并可能更改字体。我需要帮助实现在JTextArea中剪切,复制或粘贴的选项。帮助将不胜感激。 以下是我的代码片段:
public class Example extends JPanel
{
private JTextArea area;
private JScrollPane scpane;
public Example()
{
super("My Text Editor");
setUp();
}
private void setUp()
{
area = new JTextArea();
scpane= new JScrollPane(area);
area.addMouseListener(
new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
if(e.getButton()==MouseEvent.BUTTON3)
{
//having difficulty how to set up the copy, cut or paste option
//with the mouse in JTextArea.
}
}
});
}
}
}
答案 0 :(得分:3)
首先查看JComponent#setComponentPopupMenu
,它允许您将JPopupMenu
与组件关联,并在用户触发相应的系统特定触发器时自动显示该组件。
接下来,看看:
现在,如果您真的很聪明,那么您将提取相关的Action
用于JTextArea
的密钥绑定的复制/剪切/粘贴操作包裹您自己的{{1}在他们周围,将这些应用到你的Action
并免费获得...
例如......
JPopupMenu
有关详细信息,请参阅How to Use Actions和How to Use Key Bindings