水平滚动条在CTabItem内的复合下不起作用

我有CtabItem,里面有一个Composite小部件。 然后,我在其中添加了一些组件。 代码是这样的 –

Composite composite = new Composite(tabFolder, SWT.H_SCROLL); tabItem.setControl(composite); Label lblName = new Label(composite, SWT.NONE); lblName.setBounds(10, 28, 55, 15); lblName.setText("Name"); textName = new StyledText(composite, SWT.BORDER); String myText = tree.getSelection()[0].getText(); textName.setText(myText); Point textNamesize = textName.computeSize(SWT.DEFAULT, SWT.DEFAULT); textName.setBounds(76, 28, textNamesize.x, 21); Label lblPath = new Label(composite, SWT.NONE); lblPath.setBounds(10, 83, 55, 15); lblPath.setText("Path"); textPath = new StyledText(composite, SWT.READ_ONLY); textPath.setBackground(new Color(d, 240, 240, 240)); Button saveButton = new Button(composite, SWT.NONE); saveButton.setBounds(456, 134, 75, 25); saveButton.setText("Save"); Button cancelButton = new Button(composite, SWT.NONE); cancelButton.setBounds(548, 134, 75, 25); cancelButton.setText("Cancel"); 

但是,当我显示选项卡时,滚动条存在,但是,当我滚动复合时,滚动条会移动,但滚动条另一侧的元素不会显示任何,知道为什么它不起作用?

谢谢!

从GGrec的回答我为你创建了片段。 我使用了ScrolledComposite和GridLayout。 希望它能让你的任务更轻松。

  final ScrolledComposite scrolledComposite = new ScrolledComposite(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); scrolledComposite.setExpandHorizontal(true); scrolledComposite.setExpandVertical(true); final Composite composite_parent = new Composite(scrolledComposite, SWT.NONE); composite_parent.setLayout(new GridLayout(3, false)); scrolledComposite.setContent(composite_parent); scrolledComposite.setSize(composite_parent.computeSize(SWT.DEFAULT, SWT.DEFAULT)); final Composite composite_child = new Composite(composite_parent, SWT.NONE); composite_child.setLayout(new GridLayout(2, false)); final Label lblDefault1 = new Label(composite_child, SWT.NONE); lblDefault1.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); lblDefault1.setText("Name"); final StyledText textStyled = new StyledText(composite_child, SWT.NONE); textStyled.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1)); Label lblNewLabel_1 = new Label(composite_child, SWT.NONE); lblNewLabel_1.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); lblNewLabel_1.setText("Path"); text = new Text(composite_child, SWT.BORDER); text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); scrolledComposite.setMinSize(composite_parent.computeSize(SWT.DEFAULT, SWT.DEFAULT)); 
Interesting Posts