导航:首页 > 编程语言 > java动态生成菜单

java动态生成菜单

发布时间:2025-08-22 03:23:35

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

在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,"测试功能");
}

}

『贰』 如何给Java窗体添加菜单栏

阅读全文

与java动态生成菜单相关的资料

热点内容
手机qq动态推广可信吗 浏览:38
proe50零件装配教程 浏览:312
c语言两个程序合并 浏览:325
jspsession传值中文乱码 浏览:582
图片表格用什么文件填写 浏览:403
为什么从文件夹里拖出文件文件夹会自动关闭 浏览:907
javacsv制表符 浏览:922
苹果电脑swapfile是什么文件 浏览:839
咕咚app怎么显示最大摄氧量 浏览:569
天官赐福动漫app哪里看 浏览:328
盖茨编程怎么样 浏览:629
java动态生成菜单 浏览:491
如何将sql文件导入sqlserver 浏览:742
直播间都需要做哪些数据 浏览:120
python读取txt文件split 浏览:307
qq和手机传文件 浏览:423
endnotex72破解文件 浏览:531
如何编程机器语言知乎 浏览:134
hdfs创建文件夹 浏览:632
dedejs调用 浏览:391

友情链接