java文本框,点击右键,产生右键事件,出现弹出式菜单,三个菜单选项(复制,粘贴,剪切) 10

在文本框jtextarea添加弹出式菜单... 在文本框jtextarea添加弹出式菜单 展开
 我来答
xjf5562
2015-05-11 · TA获得超过1190个赞
知道小有建树答主
回答量:896
采纳率:75%
帮助的人:740万
展开全部
在java.awt包中有两个类可以用于弹出式菜单,PopupMenu(弹出式菜单),MenuItem(菜单项),
在 java.awt.event 包的MouseListener与MouseEvent 可用于鼠标事件
下面是代码(是从别的地方借用过来的,删除了一些与此问题无关的内容):
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class PopupMenuDemo extends JFrame implements ActionListener
{
JButton btnTest=new JButton("Test");
JTextArea textArea=new JTextArea();
PopupMenu pMenu=new PopupMenu(); //创建弹出式菜单,下面三项是菜单项
MenuItem mItemCopy=new MenuItem("复制");
MenuItem mItemPaste=new MenuItem("粘贴");
MenuItem mItemCut=new MenuItem("剪切");
MouseAdapter mouseAdapter=new MouseAdapter()//监听鼠标事件
{
public void mouseClicked(MouseEvent event)
{
if(event.getButton()==MouseEvent.BUTTON3)//只响应鼠标右键单击事件
{
pMenu.show(textArea,event.getX(),event.getY());//在鼠标位置显示弹出式菜单
}
}
};
ActionListener menuAction=new ActionListener()//响应单击菜单项的事件,只是示例,
{//具体内容可自己编写
public void actionPerformed(ActionEvent e)
{
MenuItem item=(MenuItem)e.getSource();
if(item==mItemCopy) //单击了“复制”菜单项
{
JOptionPane.showMessageDialog(null,"复制");
}
else if(item==mItemPaste) //“粘贴”菜单项
{
JOptionPane.showMessageDialog(null,"粘贴");

}
else
{
JOptionPane.showMessageDialog(null,"剪切"); //“剪切”菜单项
}
}
};
public PopupMenuDemo()
{
setTitle("Test");
setSize(300,300);
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(btnTest,BorderLayout.NORTH);
add(textArea,BorderLayout.CENTER);
textArea.add(pMenu); //弹出式菜单加入到文本框中,否则不能显示
textArea.addMouseListener(mouseAdapter); //文本框加入鼠标监听器
pMenu.add(mItemCopy); //菜单项的单击事件监听器
mItemCopy.addActionListener(menuAction);
pMenu.add(mItemPaste);
mItemPaste.addActionListener(menuAction);
pMenu.add(mItemCut);
mItemCut.addActionListener(menuAction);

btnTest.addActionListener(this);
}
public static void main(String... args)
{
new PopupMenuDemo().setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(null,"测试功能");
}

}
匿名用户
2015-05-12
展开全部

监听 Mouse事件、在button==3时,弹出JPopupMenu。。。。。。。



上面是完整的代码,包含剪切板的剪切、复制、粘贴等

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式