树型结构刷新后怎么还是变成原来的

wg07a 2006-11-23 12:25:21
树型结构刷新后怎么还是变成原来的结构
当加节点或删节点后
虽然显示时更新后的结构,但节点一展开又变成原来的结构了
我是整体更新的,从新装入数据并生成树
请高手指教
...全文
172 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
monsoonzeng 2007-01-12
  • 打赏
  • 举报
回复
用mode.reload()刷新
hedong_cool 2006-11-27
  • 打赏
  • 举报
回复
我也是用DefaultTreeModel但如果不想让他改变的话用JSplitPane应该不会变。
wg07a 2006-11-23
  • 打赏
  • 举报
回复
private void creatUserInterface()
{
//--------------------------------set buttons----------------------------------
containButtonsJpanel =new JPanel();
containButtonsJpanel.setLayout(new GridLayout(12,1,0,10));

shareResource=new JButton("share resource");
containButtonsJpanel.add(shareResource);
shareResource.addActionListener(
new ActionListener()
{
public void actionPerforme(ActionEvent event)
{
shareResourceActionPerformed(event);
}
}
);
update=new JButton("update");
containButtonsJpanel.add(update);
update.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
updateActionPerformed(event);
}
}
);

download=new JButton("download");
containButtonsJpanel.add(download);
download.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
downloadActionPerformed(event);
}
}
);

play=new JButton("play");
containButtonsJpanel.add(play);
play.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
playActionPerformed(event);
}
}
);

decoder=new JButton("decoder");
containButtonsJpanel.add(decoder);
decoder.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
decoderActionPerformed(event);
}
}
);

exit=new JButton("exit");
containButtonsJpanel.add(exit);
exit.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
exitActionPerformed(event);
}
}
);

//---------------------------setButtons----------------------------------------

//---------------------------setTree--------------------------------------------
containJScrollPaneJPanel=new JPanel();
//containTreeJScrollPane=new JScrollPane();
//Dimension dis3=new Dimension();
//dis3.setSize(280,600);
//containJScrollPaneJPanel.setPreferredSize(dis3);
int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
resourceTreeNode=new DefaultMutableTreeNode("Resource");
treeNodesIni();
tree=new JTree(resourceTreeNode);
//Dimension dis1=new Dimension();
// dis1.setSize(300,500);
//tree.setPreferredSize(dis1);

containTreeJScrollPane=new JScrollPane(tree,v,h);
Dimension dis3=new Dimension();
dis3.setSize(300,400);
//containTreeJScrollPane=new JScrollPane(tree);
containTreeJScrollPane.setPreferredSize(dis3);
containJScrollPaneJPanel.add(containTreeJScrollPane);


//----------------------------setTree-------------------------------------------------

//----------------------------setMainInterface--------------------------------------------
setSpaceJPanel =new JPanel();
Dimension dis2=new Dimension();
dis2.setSize(200,200);
setSpaceJPanel.setPreferredSize(dis2);
Container contentPane=getContentPane();

contentPane.setLayout(new BorderLayout());
contentPane.add(containButtonsJpanel,BorderLayout.EAST);
contentPane.add(containJScrollPaneJPanel,BorderLayout.WEST);
//contentPane.add(setSpaceJPanel,BorderLayout.SOUTH);
setTitle("Share resource system");
setSize(500,600);
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
//----------------------------setMainInterface-------------------------------------
}
private void treeNodesIni()
{
String filePath="d:\\test\\groupInf";
File file=new File(filePath);
int len=0;
//DefaultMutableTreeNode top=new DefaultMutableTreeNode("resource");
if(file.exists()&&file.isDirectory())
{
len=file.list().length;
fileName=new DefaultMutableTreeNode[len];
for(int i=0;i<len;i++)
{
int index=file.list()[i].lastIndexOf(".");
fileName[i]=new DefaultMutableTreeNode((file.list())[i].substring(0,index));
//top.add(fileName[i]);
resourceTreeNode.add(fileName[i]);
String path=(file.listFiles())[i].getAbsolutePath();
Vector temp=new Vector();
parseGroupInf pgi=new parseGroupInf(path);
pgi.runParseGroupInf();
temp=pgi.getFileName();
fileNameLeft=new DefaultMutableTreeNode[temp.size()];
for(int j=0;j<temp.size();j++)
{
fileNameLeft[j]=new DefaultMutableTreeNode(temp.get(j));
fileName[i].add(fileNameLeft[j]);
}
}
}
主要用到的两个函数
混沌骑士 2006-11-23
  • 打赏
  • 举报
回复
我不知道你是怎么生成树的 我一般都是用DefaultTreeModel来加载树节点的

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧