}
});
tree.updateUI();
jScrollPane1.getViewport().add(tree);
}
/**
* 获取图片文件内容
*
* @param fileName
* @return
*/
public Image getImage(String fileName) {
FileInputStream fis = null;
try {
fis = new FileInputStream(fileName);
BufferedInputStream bis = new BufferedInputStream(fis);
ByteBuffer bb = ByteBuffer.allocate(1024 * 1024);
byte[] buffer = new byte[1];
while (bis.read(buffer) > 0) {
bb.put(buffer);
}
ImageIcon icon = new ImageIcon(bb.array());
return icon.getImage();
} catch (IOException ex) {
Logger.getLogger(MyTree.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
fis.close();
} catch (IOException ex) {
Logger.getLogger(MyTree.class.getName()).log(Level.SEVERE, null, ex);
}
}
return null;
}
public JTree getTree() {
return tree;
}
/**
* popmenu点击右键的增加处理
*/
class TreeAddViewMenuEvent implements ActionListener {
private MyTree adaptee;
public TreeAddViewMenuEvent(MyTree adaptee) {
}
public void actionPerformed(ActionEvent e) {
String name = JOptionPane.showInputDialog("请输入分类节点名称:");
DefaultMutableTreeNode treenode = new DefaultMutableTreeNode(name);
((DefaultMutableTreeNode) this.adaptee.getTree().getLastSelectedPathComponent()).add(treenode);
this.adaptee.getTree().expandPath(new TreePath(((DefaultMutableTreeNode) this.adaptee.getTree().getLastSelectedPathComponent()).getPath()));
this.adaptee.getTree().updateUI();
}
}
/**
* popmenu点击右键的删除处理
*/
class TreeDeleteViewMenuEvent implements ActionListener {
private MyTree adaptee;
public TreeDeleteViewMenuEvent(MyTree adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
int conform = JOptionPane.showConfirmDialog(null, "是否确认删除?", "删除景点确认", JOptionPane.YES_NO_OPTION);
if (conform == JOptionPane.YES_OPTION) {
DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode) (((DefaultMutableTreeNode) this.adaptee.getTree().getLastSelectedPathComponent()).getParent());
((DefaultMutableTreeNode) this.adaptee.getTree().getLastSelectedPathComponent()).removeFromParent();
this.adaptee.getTree().updateUI();
}
}
}
}
/**
* popmenu点击右键的修改处理
*/
class TreeModifyViewMenuEvent implements ActionListener {
private MyTree adaptee;
public TreeModifyViewMenuEvent(MyTree adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
String name = JOptionPane.showInputDialog("请输入新分类节点名称:");
DefaultMutableTreeNode node = (DefaultMutableTreeNode) this.adaptee.getTree().get