树型结构刷新后怎么还是变成原来的 树型结构刷新后怎么还是变成原来的结构当加节点或删节点后虽然显示时更新后的结构,但节点一展开又变成原来的结构了我是整体更新的,从新装入数据并生成树请高手指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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]); } } }主要用到的两个函数 我不知道你是怎么生成树的 我一般都是用DefaultTreeModel来加载树节点的 我也是用DefaultTreeModel但如果不想让他改变的话用JSplitPane应该不会变。 怎样把连接查询的结果集放到JTable中 怎么判断两个list<set>的交集是不是空? 请教jfreechart中CombinedDomainXYPlot、CombinedRangeXYPlot的区别 javascript search 问题 为什么会无法访问自定义包中的类? 有没有办法搜索到一个项目中左右没被调用的方法 谁能翻译出来就牛比了 求救!!输入一个字符串"abcd",输出它所有可能组合的情况! MySQL释放问题 DES加密的程序的怪问题 JTree刷新问题 java如何同系统剪切板进行交换?
{
//--------------------------------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]);
}
}
}
主要用到的两个函数