如何响应JTREE中的节点点击事件?? 你肯定是在添加了mouseclick事件和ValueChanged事件之后,又重新new JTree(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有NEW JTREE()这个NEW JTREE()要加在这两个事件里吗?? 不是加在里面,而应该是new JTree();再添加了mouseclick事件和ValueChanged事件,如果你用jbuilder的话非常可能是这样,不信你去查看代码。 我得代码是这样的package mtreetest;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.tree.*;import javax.swing.event.*;public class Frame1 extends JFrame { private JPanel contentPane; private JMenuBar jMenuBar1 = new JMenuBar(); private JMenu jMenuFile = new JMenu(); private JMenu jMenuHelp = new JMenu(); private JMenuItem jMenuHelpAbout = new JMenuItem(); private JToolBar jToolBar = new JToolBar(); private JButton jButton1 = new JButton(); private JButton jButton2 = new JButton(); private JButton jButton3 = new JButton(); private ImageIcon image1; private ImageIcon image2; private ImageIcon image3; private JLabel statusBar = new JLabel(); private BorderLayout borderLayout1 = new BorderLayout(); private JMenuItem jMenuItem1 = new JMenuItem(); private JMenuItem jMenuItem2 = new JMenuItem(); private JMenuItem jMenuItem3 = new JMenuItem(); private JMenu jMenu1 = new JMenu(); private JMenu jMenu2 = new JMenu(); private JMenu jMenu3 = new JMenu(); private JMenu jMenu4 = new JMenu(); private JMenuItem jMenuItem4 = new JMenuItem(); private JMenuItem jMenuItem5 = new JMenuItem(); private JMenuItem jMenuItem6 = new JMenuItem(); private JMenuItem jMenuItem7 = new JMenuItem(); private JMenuItem jMenuItem8 = new JMenuItem(); private JMenuItem jMenuItem9 = new JMenuItem(); private JMenuItem jMenuItem10 = new JMenuItem(); private JMenuItem jMenuItem11 = new JMenuItem(); private JMenuItem jMenuItem12 = new JMenuItem(); private JSplitPane jSplitPane1 = new JSplitPane(); private JTree jTree1 = new JTree(); private TitledBorder titledBorder1; private JTextArea jTextArea1 = new JTextArea(); //Construct the frame public Frame1() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { image1 = new ImageIcon(mtreetest.Frame1.class.getResource("openFile.gif")); image2 = new ImageIcon(mtreetest.Frame1.class.getResource("closeFile.gif")); image3 = new ImageIcon(mtreetest.Frame1.class.getResource("help.gif")); //setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]"))); contentPane = (JPanel) this.getContentPane(); titledBorder1 = new TitledBorder(""); contentPane.setLayout(borderLayout1); this.setSize(new Dimension(460, 403)); this.setTitle("Frame Title"); statusBar.setText(" "); jMenuFile.setText("数据库"); jMenuHelp.setText("Help"); jMenuHelpAbout.setText("About"); DefaultMutableTreeNode root=new DefaultMutableTreeNode("常规树");//树的根节点。 DefaultMutableTreeNode t1=new DefaultMutableTreeNode("大型厂");//节点。 DefaultMutableTreeNode t2=new DefaultMutableTreeNode("烧结厂");//节点。 DefaultMutableTreeNode t1_1=new DefaultMutableTreeNode("高线一车间"); DefaultMutableTreeNode t1_2=new DefaultMutableTreeNode("高线二车间"); DefaultMutableTreeNode t2_1=new DefaultMutableTreeNode("第二烧结厂"); DefaultMutableTreeNode t2_2=new DefaultMutableTreeNode("第一烧结厂"); jTextArea1.setText("ooo"); jTextArea1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(MouseEvent e) { jTextArea1_mouseClicked(e); } }); jTree1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(MouseEvent e) { jTree1_mouseClicked(e); } }); jTree1.setMaximumSize(new Dimension(61, 30)); jTree1.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() { public void valueChanged(TreeSelectionEvent e) { jTree1_valueChanged(e); } }); root.add(t1);root.add(t2); t1.add(t1_1);t1.add(t1_2); t2.add(t2_1);t2.add(t2_2); JTree jTree1 =new JTree(root); //创建根为root的树。 jMenuHelpAbout.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jMenuHelpAbout_actionPerformed(e); } }); jButton1.setIcon(image1); jButton1.setToolTipText("Open File"); jButton2.setIcon(image2); jButton2.setToolTipText("Close File"); jButton3.setIcon(image3); jButton3.setToolTipText("Help"); jMenuItem1.setText("退出"); jMenuItem2.setText("打开"); jMenuItem3.setText("关闭"); jMenu1.setText("视图"); jMenuItem7.setText("常规树"); jMenuItem6.setText("报警树"); jMenuItem5.setText("查询树条件设置"); jMenuItem4.setText("树结构显示设置"); jMenuItem8.setText("刷新"); jMenu2.setText("数据分析"); jMenuItem12.setText("测点状态"); jMenuItem11.setText("时域波形"); jMenuItem10.setText("频谱分析"); jTree1.setBorder(BorderFactory.createLineBorder(Color.black)); jToolBar.add(jButton1); jToolBar.add(jButton2); jToolBar.add(jButton3); jMenuFile.add(jMenuItem2); jMenuFile.add(jMenuItem3); jMenuFile.addSeparator(); jMenuFile.add(jMenuItem1); jMenuHelp.add(jMenuHelpAbout); jMenuBar1.add(jMenuFile); jMenuBar1.add(jMenu1); jMenuBar1.add(jMenu2); jMenuBar1.add(jMenu3); jMenuBar1.add(jMenu4); jMenuBar1.add(jMenuHelp); this.setJMenuBar(jMenuBar1); contentPane.add(jToolBar, BorderLayout.NORTH); contentPane.add(statusBar, BorderLayout.SOUTH); contentPane.add(jSplitPane1, BorderLayout.CENTER); jSplitPane1.add(jTree1, JSplitPane.LEFT); jSplitPane1.add(jTextArea1, JSplitPane.RIGHT); jMenu1.add(jMenuItem7); jMenu1.add(jMenuItem6); jMenu1.addSeparator(); jMenu1.add(jMenuItem5); jMenu1.add(jMenuItem4); jMenu1.addSeparator(); jMenu1.add(jMenuItem8); jMenu2.add(jMenuItem12); jMenu2.add(jMenuItem11); jMenu2.add(jMenuItem10); jMenu2.add(jMenuItem9); } //File | Exit action performed public void jMenuFileExit_actionPerformed(ActionEvent e) { System.exit(0); } //Help | About action performed public void jMenuHelpAbout_actionPerformed(ActionEvent e) { Frame1_AboutBox dlg = new Frame1_AboutBox(this); Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y); dlg.setModal(true); dlg.pack(); dlg.show(); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { jMenuFileExit_actionPerformed(null); } } void jTree1_mouseClicked(MouseEvent e) { jTextArea1.setText("jjj"); if(jTree1.getSelectionCount()==1){ jTextArea1.setText("大型厂"); } } void jTree1_valueChanged(TreeSelectionEvent e) { jTextArea1.setText("jjj"); } void jTextArea1_mouseClicked(MouseEvent e) { jTextArea1.setText("jjj"); }} 重载的相关细节 求java+oracle大神支招 i++开辟新内存存放i的原始值,++i呢? int... num 如何编写一个自己跟电脑对话的白痴程序 java 新人 请高手来帮忙啊,JSP内容分页 初学java,看java编程思想2nd(侯捷)需要多久? 执行serlvet后杀死窗口的问题:-) WEB方面的问题,困扰我好长时间了。请求援助!!! 初级问题,先来得分 刚接触JBUILDER,在做APPLET的时候出现了问题,帮手
这个NEW JTREE()要加在这两个事件里吗??
再添加了mouseclick事件和ValueChanged事件,如果你用jbuilder的话非常
可能是这样,不信你去查看代码。
package mtreetest;import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.tree.*;
import javax.swing.event.*;public class Frame1 extends JFrame {
private JPanel contentPane;
private JMenuBar jMenuBar1 = new JMenuBar();
private JMenu jMenuFile = new JMenu();
private JMenu jMenuHelp = new JMenu();
private JMenuItem jMenuHelpAbout = new JMenuItem();
private JToolBar jToolBar = new JToolBar();
private JButton jButton1 = new JButton();
private JButton jButton2 = new JButton();
private JButton jButton3 = new JButton();
private ImageIcon image1;
private ImageIcon image2;
private ImageIcon image3;
private JLabel statusBar = new JLabel();
private BorderLayout borderLayout1 = new BorderLayout();
private JMenuItem jMenuItem1 = new JMenuItem();
private JMenuItem jMenuItem2 = new JMenuItem();
private JMenuItem jMenuItem3 = new JMenuItem();
private JMenu jMenu1 = new JMenu();
private JMenu jMenu2 = new JMenu();
private JMenu jMenu3 = new JMenu();
private JMenu jMenu4 = new JMenu();
private JMenuItem jMenuItem4 = new JMenuItem();
private JMenuItem jMenuItem5 = new JMenuItem();
private JMenuItem jMenuItem6 = new JMenuItem();
private JMenuItem jMenuItem7 = new JMenuItem();
private JMenuItem jMenuItem8 = new JMenuItem();
private JMenuItem jMenuItem9 = new JMenuItem();
private JMenuItem jMenuItem10 = new JMenuItem();
private JMenuItem jMenuItem11 = new JMenuItem();
private JMenuItem jMenuItem12 = new JMenuItem();
private JSplitPane jSplitPane1 = new JSplitPane();
private JTree jTree1 = new JTree();
private TitledBorder titledBorder1;
private JTextArea jTextArea1 = new JTextArea(); //Construct the frame
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
image1 = new ImageIcon(mtreetest.Frame1.class.getResource("openFile.gif"));
image2 = new ImageIcon(mtreetest.Frame1.class.getResource("closeFile.gif"));
image3 = new ImageIcon(mtreetest.Frame1.class.getResource("help.gif"));
//setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]")));
contentPane = (JPanel) this.getContentPane();
titledBorder1 = new TitledBorder("");
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(460, 403));
this.setTitle("Frame Title");
statusBar.setText(" ");
jMenuFile.setText("数据库");
jMenuHelp.setText("Help");
jMenuHelpAbout.setText("About");
DefaultMutableTreeNode root=new DefaultMutableTreeNode("常规树");//树的根节点。
DefaultMutableTreeNode t1=new DefaultMutableTreeNode("大型厂");//节点。
DefaultMutableTreeNode t2=new DefaultMutableTreeNode("烧结厂");//节点。
DefaultMutableTreeNode t1_1=new DefaultMutableTreeNode("高线一车间");
DefaultMutableTreeNode t1_2=new DefaultMutableTreeNode("高线二车间");
DefaultMutableTreeNode t2_1=new DefaultMutableTreeNode("第二烧结厂");
DefaultMutableTreeNode t2_2=new DefaultMutableTreeNode("第一烧结厂");
jTextArea1.setText("ooo");
jTextArea1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
jTextArea1_mouseClicked(e);
}
});
jTree1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
jTree1_mouseClicked(e);
}
});
jTree1.setMaximumSize(new Dimension(61, 30));
jTree1.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
jTree1_valueChanged(e);
}
});
root.add(t1);root.add(t2);
t1.add(t1_1);t1.add(t1_2);
t2.add(t2_1);t2.add(t2_2);
JTree jTree1 =new JTree(root); //创建根为root的树。
jMenuHelpAbout.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuHelpAbout_actionPerformed(e);
}
});
jButton1.setIcon(image1);
jButton1.setToolTipText("Open File");
jButton2.setIcon(image2);
jButton2.setToolTipText("Close File");
jButton3.setIcon(image3);
jButton3.setToolTipText("Help");
jMenuItem1.setText("退出");
jMenuItem2.setText("打开");
jMenuItem3.setText("关闭");
jMenu1.setText("视图");
jMenuItem7.setText("常规树");
jMenuItem6.setText("报警树");
jMenuItem5.setText("查询树条件设置");
jMenuItem4.setText("树结构显示设置");
jMenuItem8.setText("刷新");
jMenu2.setText("数据分析");
jMenuItem12.setText("测点状态");
jMenuItem11.setText("时域波形");
jMenuItem10.setText("频谱分析");
jTree1.setBorder(BorderFactory.createLineBorder(Color.black));
jToolBar.add(jButton1);
jToolBar.add(jButton2);
jToolBar.add(jButton3);
jMenuFile.add(jMenuItem2);
jMenuFile.add(jMenuItem3);
jMenuFile.addSeparator();
jMenuFile.add(jMenuItem1);
jMenuHelp.add(jMenuHelpAbout);
jMenuBar1.add(jMenuFile);
jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu2);
jMenuBar1.add(jMenu3);
jMenuBar1.add(jMenu4);
jMenuBar1.add(jMenuHelp);
this.setJMenuBar(jMenuBar1);
contentPane.add(jToolBar, BorderLayout.NORTH);
contentPane.add(statusBar, BorderLayout.SOUTH);
contentPane.add(jSplitPane1, BorderLayout.CENTER);
jSplitPane1.add(jTree1, JSplitPane.LEFT);
jSplitPane1.add(jTextArea1, JSplitPane.RIGHT);
jMenu1.add(jMenuItem7);
jMenu1.add(jMenuItem6);
jMenu1.addSeparator();
jMenu1.add(jMenuItem5);
jMenu1.add(jMenuItem4);
jMenu1.addSeparator();
jMenu1.add(jMenuItem8);
jMenu2.add(jMenuItem12);
jMenu2.add(jMenuItem11);
jMenu2.add(jMenuItem10);
jMenu2.add(jMenuItem9);
}
//File | Exit action performed
public void jMenuFileExit_actionPerformed(ActionEvent e) {
System.exit(0);
}
//Help | About action performed
public void jMenuHelpAbout_actionPerformed(ActionEvent e) {
Frame1_AboutBox dlg = new Frame1_AboutBox(this);
Dimension dlgSize = dlg.getPreferredSize();
Dimension frmSize = getSize();
Point loc = getLocation();
dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);
dlg.setModal(true);
dlg.pack();
dlg.show();
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
jMenuFileExit_actionPerformed(null);
}
} void jTree1_mouseClicked(MouseEvent e) {
jTextArea1.setText("jjj");
if(jTree1.getSelectionCount()==1){
jTextArea1.setText("大型厂");
}
}
void jTree1_valueChanged(TreeSelectionEvent e) {
jTextArea1.setText("jjj");
} void jTextArea1_mouseClicked(MouseEvent e) {
jTextArea1.setText("jjj");
}
}