请问为什么我的树形控件初始显示时节点文字没有全部显示出来(如图)
当点击展开节点再收缩时,节点文字就全部显示出来了呢?(如图)
同时请问如何设置Scrollpane的大小,要求它不可改变。如图,在初始显示时,面板大小分割在菜单项的矿产资源成果图的矿产两字位置
而当点击展开树形控件后,ScrollPane面板大小分割位置却跑到了远景分析菜单项了
这里时我的部分java代码:
//最底部的面板
private JPanel getDownPanel()
{
if (downPanel == null)
{
GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
gridBagConstraints1.fill = GridBagConstraints.BOTH;
gridBagConstraints1.gridx = 0;
gridBagConstraints1.gridy = 0;
gridBagConstraints1.weighty = 1.0;
gridBagConstraints1.weightx = 1.5;
GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
gridBagConstraints1.gridx = 1;
gridBagConstraints1.gridy = 0;
gridBagConstraints2.fill = GridBagConstraints.BOTH;
gridBagConstraints2.weighty = 1.0;
gridBagConstraints2.weightx = 8.5;
downPanel = new JPanel();
downPanel.setLayout(new GridBagLayout());
//放置树形控件的ScrollPane
downPanel.add(getTreeScrollPane(), gridBagConstraints1);
//放置其它面板的CardPanel
downPanel.add(getCardPanel(), gridBagConstraints2);
}
return downPanel;
}
不好意思,本人图片插不进去。帖子中提到的图片请在这里去看
http://photos.i.cn.yahoo.com/gousheng12345/d73048/
当点击展开节点再收缩时,节点文字就全部显示出来了呢?(如图)
同时请问如何设置Scrollpane的大小,要求它不可改变。如图,在初始显示时,面板大小分割在菜单项的矿产资源成果图的矿产两字位置
而当点击展开树形控件后,ScrollPane面板大小分割位置却跑到了远景分析菜单项了
这里时我的部分java代码:
//最底部的面板
private JPanel getDownPanel()
{
if (downPanel == null)
{
GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
gridBagConstraints1.fill = GridBagConstraints.BOTH;
gridBagConstraints1.gridx = 0;
gridBagConstraints1.gridy = 0;
gridBagConstraints1.weighty = 1.0;
gridBagConstraints1.weightx = 1.5;
GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
gridBagConstraints1.gridx = 1;
gridBagConstraints1.gridy = 0;
gridBagConstraints2.fill = GridBagConstraints.BOTH;
gridBagConstraints2.weighty = 1.0;
gridBagConstraints2.weightx = 8.5;
downPanel = new JPanel();
downPanel.setLayout(new GridBagLayout());
//放置树形控件的ScrollPane
downPanel.add(getTreeScrollPane(), gridBagConstraints1);
//放置其它面板的CardPanel
downPanel.add(getCardPanel(), gridBagConstraints2);
}
return downPanel;
}
不好意思,本人图片插不进去。帖子中提到的图片请在这里去看
http://photos.i.cn.yahoo.com/gousheng12345/d73048/
//参考代码
public void expandAll(JTree tree, boolean expand) {
TreeNode root = (TreeNode)tree.getModel().getRoot();
// Traverse tree from root
expandAll(tree, new TreePath(root), expand);
}
private void expandAll(JTree tree, TreePath parent, boolean expand) {
// Traverse children
TreeNode node = (TreeNode)parent.getLastPathComponent();
if (node.getChildCount() >= 0) {
for (Enumeration e=node.children(); e.hasMoreElements(); ) {
TreeNode n = (TreeNode)e.nextElement();
TreePath path = parent.pathByAddingChild(n);
expandAll(tree, path, expand);
}
}
// Expansion or collapse must be done bottom-up
if (expand) {
tree.expandPath(parent);
} else {
tree.collapsePath(parent);
}