2014-12-03 97 views
-1

你好家伙我正在使用JTextArea在java swing中编写一个简单的gui编辑器。但现在我想要能够右键单击并选择剪切,复制,粘贴和选择全部并可能更改字体。我需要帮助实现剪切,复制或粘贴JTextArea选项。帮助将不胜感激。 下面是我的代码片段:需要帮助在JTextArea中实现mouselistener

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

*“我需要帮助实施该选项..”* SO不是帮助台,它是问答网站。把'右键点击java'放到你最喜欢的搜索引擎中,并按照5个顶部链接。自己尝试一下。如果您有特定的*问题*和[MCVE](http://stackoverflow.com/help/mcve)或[SSCCE](http://www.sscce.org/),请回复我们。投票结束这个“太广泛”。 – 2014-12-03 00:49:22

回答

3

开始采取看看JComponent#setComponentPopupMenu,这将让你与一个部件的JPopupMenu关联,并具有当用户触发相应的,系统的具体它会自动显示,触发。

接下来,一起来看看:

现在,如果你真的很聪明,你会提取相关Action s用于复制/剪切/粘贴操作在JTextArea的关键绑定的离子被包裹周围自己Action,底肥那些你JPopupMenu并把它全部免费......

例如...

JTextArea ta = new JTextArea(); 
    ActionMap am = ta.getActionMap(); 

    Action paste = am.get("paste-from-clipboard"); 
    Action copy = am.get("copy-to-clipboard"); 
    Action cut = am.get("cut-to-clipboard"); 

How to Use ActionsHow to Use Key Bindings为更多详情

+1

参见引用的[这里]示例(http://stackoverflow.com/a/10167091/230513)。 – trashgod 2014-12-03 03:17:05