问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-27 07:22

我来回答

2个回答

热心网友 时间:2022-06-28 11:05

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就有滚动条了。

热心网友 时间:2022-06-28 11:05

把你的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()就行

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
“笑指旧山归路长”的出处是哪里 PCB为什么要拼板,PCB拼板打样有哪些好处? 绘制紫外吸收光谱时,我发现最大吸收波长是333nm,此时吸光度为4.01 对吸光度测量值有何影响? 陆垚知马俐的歌词是什么? 玫瑰花水中的养殖方法 陈年柚子茶如何做 陈年柚子茶的制作方法 在答题卡上改题号是指那一道题扣分还是整个卷子都没? ...考试时我写到了卷子上,会怎么样?会不会按抄袭 高考时在卷子上不小心画了道怎么办? 布艺沙发可拆洗用英语怎么说 如何将SWT中goup背景换颜色 地板拆卸 SWT 如何打开新窗口 非常芯地漏里面的防臭芯是可以拆卸下来的吗?可以清洗的那种吗? 关于swt 拖放时cursor的问题 已经供热了还可以清洗地热吗 Java SWT 如何设置TabFolder选项卡的大小? 是不是所有冲锋衣都是可拆洗 公司打算用swt&#47;JFace实现属性面板,样式如下: 属性框共三列: 1: 急求帮助:安装MATLAB2014b时替换install.jar文件时显示空间不足怎么办 十分感谢 如何在jface Dialog的标题栏中自定义按钮或图标 已经供腹暖了,能不能清洗地暧水管 如何安装SPAMS工具箱在Matlab 2014b在Windows 8.1下 SWT的FormText控件怎么设置文本的自动换行? matlab2014b输入的安装密钥无效怎么办 JAVA中使用SWT新建了两个Button,放在同一个位置,如何设置层次 国内有哪些品牌床垫是可以拆洗的? 如何安装matlab2014b 如何控制SWT的DateTime控件样式 婚迁户口需要什么手续流程2021 地漏芯怎么拆卸 Java请问 SWT 的日期控件里的日期(2010&#47;10&#47;10)怎么存到一个java Date变量, 然后存到数据库中呢? 求详细设 火减是否可清洗地暖管道水垢? 供暖之后还可以清洗地热吗? 可以还是不可以??? 草酸可以清洗地砖吗? 结婚户口迁移手续 婚迁和户口迁移有什么区别 毛笔初学者有哪些书法教材可用? 我想练习毛笔书法,但是不知道什么样的字帖和毛笔比较适合初学者,希望各位知道的话帮我出出主意 教孩子书法(毛笔)用什么教材好? 毛笔书法初学者用什么书, 小学生初学毛笔书法选那种字帖比较合适? 初学毛笔书法应选古人名帖练习,还是选当今名家字帖练习? 毛笔书法初学者是学隶书好还是魏碑好 如何挑选一本好 想要练毛笔字,初学者中的初学者,希望帮忙推荐毛笔和字帖,越详细越好,谢谢! 快手上面叫什么名字好听 很多人在生活中喜欢喝酒,粮食酒和勾兑酒有什么区别? 怎么练毛笔字。有哪些教材?可以推荐一下。 名字叫莫丽华用快手名叫什么吸引人涨粉