java 中在树节点上右击弹出菜单的方法!!! 如何在JTree控件上的指定的节点上右击就弹出菜单,是在节点上右击弹出,不是在树的任一个地方!!!!最好是给一个简单的例子!!!谢谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 JTree fTree = new JTree(); fTree.addMouseListener(new MouseListener() { @Override public void mouseClicked(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } @Override public void mousePressed(MouseEvent e) { } @Override public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) { JTree tree = (JTree) e.getComponent(); TreePath path = tree.getPathForLocation(e.getX(), e.getY()); tree.setSelectionPath(path); if (path == null) { System.out.println("Not click on the node..."); return; } if (path.getParentPath() != null) { JMenuItem menu1 = new JMenuItem("menu1"); JMenuItem menu2 = new JMenuItem("menu2"); JMenuItem menu3 = new JMenuItem("menu3"); JMenuItem menu4 = new JMenuItem("menu4"); JMenuItem menu5 = new JMenuItem("menu5"); JPopupMenu popupMenu1; popupMenu1 = new JPopupMenu(); popupMenu1.add(menu3); popupMenu1.add(menu4); popupMenu1.add(menu5); popupMenu1.add(menu1); popupMenu1.add(menu2); menu1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { } }); popupMenu1.show(tree, e.getX(), e.getY()); } } } }); 我写成这样,不对!为什么啊!import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.JFrame;import javax.swing.JMenuItem;import javax.swing.JPopupMenu;import javax.swing.JTree;import javax.swing.tree.DefaultMutableTreeNode;import javax.swing.tree.DefaultTreeModel;import javax.swing.tree.TreePath;public class TreeNodePopMenu extends JFrame implements ActionListener{ private DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root"); private DefaultTreeModel dtm = new DefaultTreeModel(root);//创建根节点 private JTree jt=new JTree(dtm);//利用上一步的根,创建树状列表控件, public TreeNodePopMenu(){ this.initialFrame(); this.addListener(); } public void initialFrame() { this.add(jt); this.setBounds(50, 50, 250, 400); this.setVisible(true); this.setDefaultCloseOperation(EXIT_ON_CLOSE); } public void addListener(){ jt.addMouseListener(new MouseListener() { @Override public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) { JTree tree = (JTree) e.getComponent(); TreePath path = tree.getPathForLocation(e.getX(), e.getY()); tree.setSelectionPath(path); if (path == null) { System.out.println("Not click on the node..."); return; } if (path.getParentPath() != null) { JMenuItem menu1 = new JMenuItem("menu1"); JMenuItem menu2 = new JMenuItem("menu2"); JMenuItem menu3 = new JMenuItem("menu3"); JMenuItem menu4 = new JMenuItem("menu4"); JMenuItem menu5 = new JMenuItem("menu5"); JPopupMenu popupMenu1; popupMenu1 = new JPopupMenu(); popupMenu1.add(menu3); popupMenu1.add(menu4); popupMenu1.add(menu5); popupMenu1.add(menu1); popupMenu1.add(menu2); menu1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { } }); popupMenu1.show(tree, e.getX(), e.getY()); } } } @Override public void mouseClicked(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseEntered(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub } }); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub } public static void main(String[] args){ new TreeNodePopMenu(); }} 请教这个是什么编码? 最简单的问题 java除錯 请教学JAVA的流程 jstl的一个初级问题 请问各位如何用Properties类来读取properties文件。而且要将他输入读取出来的放进文本框中? 编码转换的问题:从SJIS转换到JIS8,结果比原来多出6个byte 大家快来帮帮忙啊 很简单,100分求助JCheckBox的问题 我的小应用程序在JCREATOR的Appletviewer里可以浏览但是不能在浏览器里运行这是为什么 (求大神)重装了系统和spl server 2000 网页中applet当调用第三方jar包时,applet不显示.急!!!!
JTree fTree = new JTree(); fTree.addMouseListener(new MouseListener() { @Override
public void mouseClicked(MouseEvent e) {
} @Override
public void mouseEntered(MouseEvent e) {
} @Override
public void mouseExited(MouseEvent e) {
} @Override
public void mousePressed(MouseEvent e) {
} @Override
public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) {
JTree tree = (JTree) e.getComponent();
TreePath path = tree.getPathForLocation(e.getX(), e.getY()); tree.setSelectionPath(path); if (path == null) {
System.out.println("Not click on the node...");
return;
}
if (path.getParentPath() != null) {
JMenuItem menu1 = new JMenuItem("menu1");
JMenuItem menu2 = new JMenuItem("menu2");
JMenuItem menu3 = new JMenuItem("menu3");
JMenuItem menu4 = new JMenuItem("menu4");
JMenuItem menu5 = new JMenuItem("menu5");
JPopupMenu popupMenu1;
popupMenu1 = new JPopupMenu();
popupMenu1.add(menu3);
popupMenu1.add(menu4);
popupMenu1.add(menu5);
popupMenu1.add(menu1);
popupMenu1.add(menu2);
menu1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
popupMenu1.show(tree, e.getX(), e.getY());
}
}
} });
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
public class TreeNodePopMenu extends JFrame implements ActionListener{
private DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root");
private DefaultTreeModel dtm = new DefaultTreeModel(root);//创建根节点
private JTree jt=new JTree(dtm);//利用上一步的根,创建树状列表控件,
public TreeNodePopMenu(){
this.initialFrame();
this.addListener();
}
public void initialFrame() {
this.add(jt);
this.setBounds(50, 50, 250, 400);
this.setVisible(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void addListener(){
jt.addMouseListener(new MouseListener() { @Override
public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) {
JTree tree = (JTree) e.getComponent();
TreePath path = tree.getPathForLocation(e.getX(), e.getY()); tree.setSelectionPath(path); if (path == null) {
System.out.println("Not click on the node...");
return;
}
if (path.getParentPath() != null) {
JMenuItem menu1 = new JMenuItem("menu1");
JMenuItem menu2 = new JMenuItem("menu2");
JMenuItem menu3 = new JMenuItem("menu3");
JMenuItem menu4 = new JMenuItem("menu4");
JMenuItem menu5 = new JMenuItem("menu5");
JPopupMenu popupMenu1;
popupMenu1 = new JPopupMenu();
popupMenu1.add(menu3);
popupMenu1.add(menu4);
popupMenu1.add(menu5);
popupMenu1.add(menu1);
popupMenu1.add(menu2);
menu1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
popupMenu1.show(tree, e.getX(), e.getY());
}
}
} @Override
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub
} @Override
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
} @Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
} @Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}
});
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
public static void main(String[] args){
new TreeNodePopMenu();
}}