![JAR search and dependency download from the Maven repository](/logo.png)
com.yiwowang.intellij.finding.menu.ContextMenu Maven / Gradle / Ivy
The newest version!
package com.yiwowang.intellij.finding.menu;
import com.yiwowang.intellij.finding.util.UIUtils;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class ContextMenu implements MouseListener {
private JPopupMenu menu = new JPopupMenu();
private JTree tree;
public ContextMenu(JTree tree) {
this.tree = tree;
init();
}
public void init() {
JMenuItem item = new JMenuItem("Copy");
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
if (selectedNode == null) {
return;
}
Object object = selectedNode.getUserObject();
UIUtils.copy(object + "");
// DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
// Object object = selectedNode.getUserObject();
// if (object instanceof ClassBean) {
// Utils.navigate(ProjectFinding.getInstance().getProject(), (ClassBean) object);
// }
}
});
menu.add(item);
}
public void pop(MouseEvent e) {
TreePath treePath = tree.getPathForLocation(e.getX(), e.getY());
if (treePath == null) {
return;
}
tree.setSelectionPath(treePath);
if (e.isPopupTrigger()) {
menu.show(e.getComponent(), e.getX(), e.getY());
}
}
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
pop(e);
}
@Override
public void mouseReleased(MouseEvent e) {
pop(e);
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy