大家好!
制作一个二级弹出菜单,本来以为很简单,结果发现JPopupMenu不和PopupMenu一样,JPopupMenu不能通过PopupMenu.add(new PopupMenu)的方式实现耳机弹出菜单,那么用JPopupMenu是如何实现的呢?
我不能用插件实现,是要手写的那种。
或者是,Eclipse也有二级弹出菜单,谁能不能把源码发过来学习学习呢? 谢谢!
工作愉快。
制作一个二级弹出菜单,本来以为很简单,结果发现JPopupMenu不和PopupMenu一样,JPopupMenu不能通过PopupMenu.add(new PopupMenu)的方式实现耳机弹出菜单,那么用JPopupMenu是如何实现的呢?
我不能用插件实现,是要手写的那种。
或者是,Eclipse也有二级弹出菜单,谁能不能把源码发过来学习学习呢? 谢谢!
工作愉快。
JMenu menu = new JMenu("JMenu");
menu.add(new JMenuItem("JMenuItem"));
menuBar2.add(menu);
frame.setJMenuBar(menuBar2);
直接
JPopupMenu.add(JMenu menu);
即可
import java.awt.Dimension;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
public class text
implements MouseListener{
JPopupMenu jpopupMenu1 = new JPopupMenu();
JMenuItem jmenuItem1,jmenuItem2,jmenuItem3,jmenuItem4;
JMenu t;
JFrame frame=new JFrame();
public text(){
frame.setSize(new Dimension(400,200));
jmenuItem1 = new JMenuItem("新增");
jmenuItem2 = new JMenuItem("修改");
jmenuItem3 = new JMenuItem("删除");
t = new JMenu("kk");
jpopupMenu1.add(jmenuItem1);
jpopupMenu1.add(jmenuItem2);
jpopupMenu1.add(t);
t.add(jmenuItem3);
JButton b=new JButton("右击我");
b.addMouseListener(this);
frame.setLayout(new BorderLayout());
frame.add(b);
frame.setVisible(true);
}
public static void main(String args[]){
new text();
}
public void mouseClicked(MouseEvent e)
{
// TODO Auto-generated method stub
if(e.isMetaDown()){//检测鼠标右键单击
jpopupMenu1.show(frame, e.getX(), e.getY()+80);
}
}
public void mouseEntered(MouseEvent arg0)
{
// TODO Auto-generated method stub
}
public void mouseExited(MouseEvent arg0)
{
// TODO Auto-generated method stub
}
public void mousePressed(MouseEvent arg0)
{
// TODO Auto-generated method stub
}
public void mouseReleased(MouseEvent arg0)
{
// TODO Auto-generated method stub
}
}