在eclipse里用SWT怎么才能添加滚动条

在eclipse里用SWT把数据都加载到页面了,但是不能全部显示出来,需要添加滚动条,但是在百度上查到的ScrolledCompositescrolledComposit... 在eclipse里用SWT把数据都加载到页面了,但是不能全部显示出来,需要添加滚动条,但是在百度上查到的 ScrolledComposite scrolledComposite = new ScrolledComposite(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); /////111 Composite comp = new Composite(scrolledComposite, SWT.NONE );//|SWT.H_SCROLL | SWT.V_SCROLL scrolledComposite.setExpandHorizontal(true); scrolledComposite.setExpandVertical(true); scrolledComposite.setMinWidth(750); scrolledComposite.setMinHeight(400); // 定义一个面板Composite,用此面板来容纳其他的组件 scrolledComposite.setContent(comp);// 设置composite被scrolledComposite控制 添加进去还是不行????该怎么在eclipse里用SWT在原有循环出来的数据,添加滚动条呢??????
谢谢,已经解决了!!!
展开
 我来答
千锋教育
2015-12-08 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
tabItem2.setControl(addSc(tabFolder1));
/** 
 * 加入ScrolledComposite 
 * @param grandparent 必须是GridLayout 
 * @return 
 */  
private Composite addSc(Composite grandparent) {  
    Composite parent=new Composite(grandparent, SWT.BORDER);  
    //sc的父窗口必须是FillLayout  
    parent.setLayout(new FillLayout());  
      
    ScrolledComposite sc = new ScrolledComposite(parent, SWT.BORDER  
            | SWT.V_SCROLL | SWT.H_SCROLL);  
  
    Composite c = new Composite(sc, SWT.NONE);  
    c.setSize(400, 400);  
    c.setLayout(new GridLayout(1, true));  
  
    for (int i = 0; i < 1000; i++) {  
        new Button(c, SWT.PUSH).setText("Text" + i);  
    }  
  
    sc.setMinSize(c.computeSize(SWT.DEFAULT, SWT.DEFAULT));  
    sc.setContent(c);  
    sc.setExpandHorizontal(true);  
    sc.setExpandVertical(true);  
    sc.setAlwaysShowScrollBars(true);  
    return parent;  
}

  sc的父窗口必须是FillLayout型的,我本来想把tabFolder1设置成FillLayout的,让tabFolder1作为sc的父窗口,发现结果没有滚动条。后来就在tabFolder1创了一个子Composite,这个Composite设置成FillLayout,再在此Composite下创建sc就有滚动条了。

TableDI
2024-07-18 广告
Excel合并表格插件是一种高效的工具,能够帮助用户快速合并多个Excel表格。这类插件通常具备两大功能:多薄合并和多表合并。多薄合并能将文件夹内的多个工作簿合并到一个新的工作簿中,而多表合并则可以将一个工作簿内的多个工作表合并到一个汇总表... 点击进入详情页
本回答由TableDI提供
lzb18
2014-04-15 · TA获得超过286个赞
知道小有建树答主
回答量:172
采纳率:0%
帮助的人:141万
展开全部

把你的shell用FillLayout布局试试

shell.setLayout(new FillLayout(SWT.HORIZONTAL));
追问
我能在问你一个问题吗?怎么在SWT中用上下键控制滚动条????
追答

给你的scrollComposite加个键盘监听,在监听中控制

		final ScrollBar vBar = scrolledComposite.getVerticalBar();
final int vIncrement = vBar.getIncrement();
scrolledComposite.addKeyListener(new KeyListener() {
@Override
public void keyPressed(KeyEvent e) {
if (e.keyCode == SWT.ARROW_UP) {
int vSelect = vBar.getSelection();
if (vSelect > 0) {
vBar.setSelection(vSelect - vIncrement);
}
}
else if (e.keyCode == SWT.ARROW_DOWN) {
int vSelect = vBar.getSelection();
if (vSelect < 100) {
vBar.setSelection(vSelect + vIncrement);
}
}
}

@Override
public void keyReleased(KeyEvent e) {
}
});

 想改水平滚动条同理,把getVerticalBar()改成getHorizontalBar()就行

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式