Java 使用TreeColumn时未显示树
显示包含列定义的Java 使用TreeColumn时未显示树,java,swt,Java,Swt,显示包含列定义的树时遇到问题: private Composite composite; private Composite treeCompositeNdal; private Tree treeNdalEditor; private TreeColumn treeNameColumn ; private TreeColumn treeValueColumn ; [...] treeCompositeNdal = new Composite(composite, SWT.BOTTOM); t
树时遇到问题:
private Composite composite;
private Composite treeCompositeNdal;
private Tree treeNdalEditor;
private TreeColumn treeNameColumn ;
private TreeColumn treeValueColumn ;
[...]
treeCompositeNdal = new Composite(composite, SWT.BOTTOM);
treeCompositeNdal.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
treeCompositeNdal.setLayout(createNoMarginLayout(1, true));
treeCompositeNdal.setVisible(false);
treeNdalEditor = new Tree (treeCompositeNdal, SWT.BOTTOM|SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
treeNdalEditor.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
treeNdalEditor.setRedraw(true);
treeNdalEditor.setVisible(true);
treeNameColumn = new TreeColumn(treeNdalEditor, 0);
treeValueColumn = new TreeColumn(treeNdalEditor, 0);
treeNameColumn.setText("Name");
treeValueColumn.setText("Value");
如果我注释掉treeNameColumn
和treeValueColumn
行,则树
显示良好。我做错了什么?在填写内容后,尝试调用两个列。这将迫使treecocolumn
s根据其内容调整大小。添加数据后是否在两列上调用了.pack()
?顺便说一句:SWT.BOTTOM
不是Tree
的有效样式,请对treecocolumn
s使用SWT.NONE
而不是0
。谢谢你,两列上的.pack()解决了这个问题。我如何投票表决你的答案作为原始问题的解决方案?