📄 xmleditor.java
字号:
package cn.dxm.util;
import java.awt.GridLayout;
import java.beans.ExceptionListener;
import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import javax.swing.JPanel;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeSelectionModel;
public class XMLEditor implements ExceptionListener{
public void saveJTreeToXml(String xmlfname,DefaultMutableTreeNode rootnode){
try {
//XML编码器
XMLEncoder xe = new XMLEncoder(new BufferedOutputStream(
new FileOutputStream(xmlfname)));
xe.setExceptionListener(this);
xe.writeObject(rootnode);
xe.flush();
xe.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void loadXmlToJTree(JTree tree,DefaultTreeModel treeModel,JPanel treepanel,String xmlfname,DefaultMutableTreeNode rootnode){
try {
//rootnode.removeAllChildren();
//treeModel.reload();
//XML解码器.
XMLDecoder xe = new XMLDecoder(new FileInputStream(xmlfname));
//DynamicTreeDemo.this)指DynamicTreeDemo本身对像.
xe.setExceptionListener(this);
rootnode = (DefaultMutableTreeNode) xe.readObject();
xe.close();
this.reload(treeModel,rootnode,tree,treepanel);
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void reload(DefaultTreeModel treeModel,DefaultMutableTreeNode rootNode,JTree tree,JPanel panel){
treeModel = new DefaultTreeModel(rootNode);
treeModel.addTreeModelListener(new MyTreeModelListener());
tree = new JTree(treeModel);
tree.setEditable(true);
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
tree.setShowsRootHandles(true);
panel.removeAll();
panel.invalidate();
panel.repaint();
panel.validate();
}
public void exceptionThrown(Exception e) {
e.printStackTrace();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -