哪位大神能够 发份源码来的,能够实现 添加到鼠标右键菜单,无论在 桌面还是在窗口内 当选定指定对象时,能获取对象的路 径。当要打开一个文件时,系统知道此文件应用此文件打开。 ,也可提示下,要用到主要的类,以及方法,还有如何实现过程。谢谢。

解决方案 »

  1.   

    我以前做过一个小记事本也添加了右击菜单事件,用到的类有这些:
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.KeyAdapter;
    import java.awt.event.KeyEvent;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JOptionPane;
    /........import javax.swing.JPopupMenu;........../这个是实现右击弹出菜单主要的类
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;
    import javax.swing.UIManager;
      

  2.   

    这里是实现右击弹出的代码:
      ta.addMouseListener(new MouseAdapter(){
                @Override//右击弹出子菜单;
                public void mouseReleased(MouseEvent e){
                if(e.getButton()==MouseEvent.BUTTON3){
                    pmenu.show(menu2, e.getX(),e.getY());
                    }
                }
                //右击完成后,左击时子菜单消失,并做相应的事件,事件由相应的监听器去做;
                @Override
                public void mouseClicked(MouseEvent e){
                if(e.getButton()==MouseEvent.BUTTON1)
                    pmenu.setVisible(false);
                }
            });
      

  3.   

    ta.addMouseListener(new MouseAdapter(){
      @Override//右击弹出子菜单;
      public void mouseReleased(MouseEvent e){
      if(e.getButton()==MouseEvent.BUTTON3){
      pmenu.show(menu2, e.getX(),e.getY());
      }
      }
      //右击完成后,左击时子菜单消失,并做相应的事件,事件由相应的监听器去做;
      @Override
      public void mouseClicked(MouseEvent e){
      if(e.getButton()==MouseEvent.BUTTON1)
      pmenu.setVisible(false);
     这个代码好像不对
      

  4.   

    你要的也许是这个
    SwingUtilities类的, x ,y是鼠标坐标,当然要在根面板加鼠标监听,反回的就是当前鼠标指的组件
    public static Component getDeepestComponentAt(Component parent,
                                                  int x,
                                                  int y)关于菜单向子组件传送,只要子组件JComponent.setInheritesPopupMenu(ture) 从父组件继承 JPopupMenu
    就ok 所以窗体的子组件都要设