public void valueChanged(TreeSelectionEvent e){}方法我的主类实现了TreeSelectionListener接口
解决方案 »
- 为什么找不到我自己写的类
- sql语句where子句小常识,欢迎大家讨论
- 如何读取word文件中的表格内容?(在线)
- 关于树==>查询数据库,向界面赋值问题?
- uedit32无法显示汉字
- 请教java语言"保存"按扭的代码是如何写的,我是初学者,想实现这个功能.
- 请教Applet能否与session通信的问题?谢谢,急
- 困惑??jdk??
- 请问有java写的文件管理器么?thx!!
- 类Test中有new Main(),在Main.java里的new One()对象怎样访问Test中的其他对象?
- 求一段java关于properties操作的代码,答对马上给分
- 只能用awt来写界面,怎么办啊?感觉写出来不美观阿?
import javax.swing.event.TreeSelectionListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.tree.*;
import java.util.Hashtable;
import java.util.HashMap;
import java.util.Enumeration;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;public class DepartmentTree extends JFrame implements TreeSelectionListener {
private static final int WIDTH = 500;
private static final int HEIGHT = 350;
private static final int X = 150;
private static final int Y = 150;
private JTree leftTree, rightTree;
private JPanel leftPanel, rightPanel;
private String key;
private String[] value;
private Hashtable hashTable; public DepartmentTree() {
setTitle("DepartmentTree");
setLocation(X, Y);
setSize(WIDTH, HEIGHT); leftTree = new JTree(makeLeftTree());
leftTree.addTreeSelectionListener(this);
leftTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); rightTree = new JTree(makeRightTree());
rightTree.setShowsRootHandles(true);
rightTree.setCellRenderer(new MyTreeCellRenderer());
rightTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
rightTree.addMouseListener(new DepartmentTree.RightNodeSelectionListener(rightTree));
rightTree.addTreeSelectionListener(this); leftPanel = new JPanel(new GridLayout(1, 1));
leftPanel.add(new JScrollPane(leftTree));
rightPanel = new JPanel(new GridLayout(1, 1)); Container contentPane = getContentPane();
contentPane.setLayout(new BorderLayout()); contentPane.add(leftPanel, BorderLayout.WEST);
contentPane.add(rightPanel, BorderLayout.CENTER);
} public void valueChanged(TreeSelectionEvent e) { if (leftTree == e.getSource()) {
try {
rightPanel.removeAll();
DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) leftTree.getLastSelectedPathComponent();
DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode) selectedNode.getParent();
if (selectedNode.isLeaf()) {
rightPanel.add(new JScrollPane(rightTree));
rightPanel.validate();
rightPanel.setVisible(true);
key = parentNode.toString() + " " + selectedNode.toString();
}
} catch (Exception exception) {
exception.printStackTrace();
}
} if (rightTree == e.getSource()) {
try {
CheckBoxNode selectedNode = (CheckBoxNode) rightTree.getLastSelectedPathComponent();
if (selectedNode.isLeaf()) {
String[] value = new String[selectedNode.getParent().getChildCount()];
CheckBoxNode fristLeaf = (CheckBoxNode) selectedNode.getFirstLeaf(); value[0] = String.valueOf(fristLeaf.isSelected());
while (selectedNode.getNextLeaf() != null) {
for (int i = 1; i < value.length; i++) {
if (selectedNode.getNextLeaf().equals(selectedNode)) {
value[i] = String.valueOf(!(selectedNode.isSelected()));
}
value[i] = String.valueOf(selectedNode.getNextLeaf()); }
} }
} catch (Exception exception) {
exception.printStackTrace();
}
}
}
应该是这个
import javax.swing.*;
import javax.swing.event.TreeSelectionListener;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.tree.*;
import java.util.Hashtable;
import java.util.HashMap;
import java.util.Enumeration;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;public class DepartmentTree extends JFrame implements TreeSelectionListener {
private static final int WIDTH = 500;
private static final int HEIGHT = 350;
private static final int X = 150;
private static final int Y = 150;
private JTree leftTree, rightTree;
private JPanel leftPanel, rightPanel;
private String key;
private String[] value;
private Hashtable hashTable; public DepartmentTree() {
setTitle("DepartmentTree");
setLocation(X, Y);
setSize(WIDTH, HEIGHT); leftTree = new JTree(makeLeftTree());
leftTree.addTreeSelectionListener(this);
leftTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); rightTree = new JTree(makeRightTree());
rightTree.setShowsRootHandles(true);
rightTree.setCellRenderer(new MyTreeCellRenderer());
rightTree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
rightTree.addMouseListener(new DepartmentTree.RightNodeSelectionListener(rightTree));
rightTree.addTreeSelectionListener(this); leftPanel = new JPanel(new GridLayout(1, 1));
leftPanel.add(new JScrollPane(leftTree));
rightPanel = new JPanel(new GridLayout(1, 1)); Container contentPane = getContentPane();
contentPane.setLayout(new BorderLayout()); contentPane.add(leftPanel, BorderLayout.WEST);
contentPane.add(rightPanel, BorderLayout.CENTER);
} public void valueChanged(TreeSelectionEvent e) {
if (leftTree == e.getSource()) {
try {
rightPanel.removeAll();
DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) leftTree.getLastSelectedPathComponent();
DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode) selectedNode.getParent();
if (selectedNode.isLeaf()) {
rightPanel.add(new JScrollPane(rightTree));
rightPanel.validate();
rightPanel.setVisible(true);
key = parentNode.toString() + " " + selectedNode.toString();
}
} catch (Exception exception) {
exception.printStackTrace();
}
} if (rightTree == e.getSource()) {
try {
hashTable = new Hashtable();
CheckBoxNode selectedNode = (CheckBoxNode) rightTree.getLastSelectedPathComponent();
CheckBoxNode parentNode = (CheckBoxNode) selectedNode.getParent();
Enumeration enum = parentNode.children();
if (selectedNode.isLeaf()) {
value = new String[parentNode.getChildCount()];
while (enum.hasMoreElements()) {
for (int j = 0; j < value.length; j++) {
value[j] = (parentNode.toString() + " " +
String.valueOf(((CheckBoxNode) enum.nextElement()).isSelected));
}
}
System.out.println("\n key " + key);
for (int i = 0; i < value.length; i++) {
System.out.print(value[i]);
}
hashTable.put(key, value);
}
} catch (Exception exception) {
exception.printStackTrace();
}
}
}