swt controls里的控件list

swt controls里的控件list,怎么显示滚动条,并且滚动条自动移动到最下边时,显示最新内容

 1 package com.jokul;
 2
 3 import org.eclipse.swt.widgets.Display;
 4 import org.eclipse.swt.widgets.Shell;
 5 import org.eclipse.swt.SWT;
 6 import org.eclipse.swt.widgets.Label;
 7 import org.eclipse.swt.widgets.List;
 8 import org.eclipse.swt.widgets.ScrollBar;
 9
10 public class ListTest {
11
12     protected Shell shell;
13     protected static List list;
14
15     /**
16      * Launch the application.
17      * @param args
18      */
19     public static void main(String[] args) {
20         try {
21             ListTest window = new ListTest();
22             window.open();
23         } catch (Exception e) {
24             e.printStackTrace();
25         }
26     }
27
28     /**
29      * Open the window.
30      */
31     public void open() {
32         Display display = Display.getDefault();
33         createContents();
34         shell.open();
35         shell.layout();
36         while (!shell.isDisposed()) {
37             if (!display.readAndDispatch()) {
38                 display.sleep();
39             }
40         }
41     }
42
43     /**
44      * Create contents of the window.
45      */
46     protected void createContents() {
47         shell = new Shell();
48         shell.setSize(450, 300);
49         shell.setText("SWT Application");
50
51         list = new List(shell, SWT.BORDER | SWT.V_SCROLL);
52         list.setItems(new String[] {});
53         list.setBounds(10, 35, 414, 217);
54
55         Label label = new Label(shell, SWT.NONE);
56         label.setBounds(10, 10, 343, 17);
57         label.setText("\u6F14\u793A\u6EDA\u52A8\u6761\u600E\u4E48\u79FB\u52A8\u5230\u6700\u4E0B\u8FB9\u7684");
58
59         for(int i = 0; i < 100; i++) {
60             showInList("info:" + i);
61         }
62     }
63
64     /**
65      * 在swt的list上显示信息
66      * @param str
67      */
68     private static void showInList(final String str){
69         Display.getDefault().asyncExec(new Runnable() {
70             public void run() {
71                 list.add(str);
72
73                 int count = list.getItemCount();
74                 list.setSelection(count - 1);
75
76                 ScrollBar sb = list.getVerticalBar();
77                 if(sb !=null && sb.isVisible()) {
78                     sb.setSelection(sb.getMaximum());
79                 }
80             }
81         });
82
83     }
84 }
时间: 2024-11-06 21:33:12

swt controls里的控件list的相关文章

winfrom获取用户控件里的控件对象

如何获取用户控件里的控件对象呢,其实思路也是很简单的, 比如有一个panel 用户控件 里面有许多的其他控件. 那么要找出一个Label控件怎么找呢,好的.现在我们就开始 首先,一个foreach循环获得所有控件. 然后根据类型筛选出这个类型的所有控件.然后就可以用Name来判断了 foreach(var lb in mi_image1.Controls) {    if (lb is Label)    {         Label obj = lb as Label;   //如果把循环改

HTML5的video虽然可用controls来展示控件

HTML5的video虽然可用controls来展示控件,并进行控制播放暂停等,但是不同的浏览器显示的效果可能不一样,所以很多时候我们需要使用Dom来进行自定义的一些操作和控制.下面是一个小例子. 当然效果不是很美观,若想好看的可以自己设置css样式等. 复制代码 代码如下: <div id="video_div" style="text-align:center;"> <button onclick="playPause()"

Atitit.swt&#160;线程调用ui控件的方法

Atitit.swt 线程调用ui控件的方法 1 SwingUtilities.invokeLater1 2 display.asyncExec方法1 3  display.timerExec(500,timer);2 4 .但有时候并不一定要程序执行时就要定时检测,有时需要外部事情激发这就出现了第2种解决方案,写一个内置类,可以放在事件监听的方法中,然后激发:2 5 参考3 1   SwingUtilities.invokeLater SwingUtilities.invokeLater(ne

iOS开发手记 - iOS9.3 UINavigationController添加后不显示storyboard中viewcontroller里的控件的解决方法

我原先是这么做的,通常也是这么做 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. ViewController *firstVC = [[ViewController alloc] init]; UIN

java android布局里的控件值 反射绑定给实体类,实体类绑定给控件,表单提交绑定很有用

注意了:根据实际情况,添加实体里字段的类型,控件类型的判断才可使用.这里控件只有TextView EditText 实体类字段只有String int类型,带值的控件添加tag ,值和实体类的字段值一致 package ice.ui.service; import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import jav

jQuery-UI实现折叠面板里的控件拖曳

因一个项目的需要,需要在前端界面实现在折叠面板里拖曳控件到工作区的功能(类似于Android和MFC的可视化界面开发),于是就开始学起了强大的jQuery,发现里面的jQuery-UI有折叠面板.按钮等控件,但当在折叠面板里拖曳按钮时,按钮的拖曳范围只能是折叠面板内部,不能拖到工作区.所以这里绕了个弯实现了一下: 主要的实现过程是:首先在控件表明生成一个副本,每次拖曳控件的时候拖曳的都是副本,当拖曳完成,即鼠标弹起后,原控件表面就又生成一个副本待下次拖曳.(其他一些细节写在了注释里.) 代码:

【jQuery基础编程】jQuery-UI实现折叠面板里的控件拖曳

因一个项目的需要,需要在前端界面实现在折叠面板里拖曳控件到工作区的功能(类似于Android和MFC的可视化界面开发),于是就开始学起了强大的jQuery,发现里面的jQuery-UI有折叠面板.按钮等控件,但当在折叠面板里拖曳按钮时,按钮的拖曳范围只能是折叠面板内部,不能拖到工作区.所以这里绕了个弯实现了一下: 主要的实现过程是:首先在控件表明生成一个副本,每次拖曳控件的时候拖曳的都是副本,当拖曳完成,即鼠标弹起后,原控件表面就又生成一个副本待下次拖曳.(其他一些细节写在了注释里.) 代码:

gridview里找到控件

for (int i = 0; i < gvIncomeYG.Rows.Count; i++) { Label lblYG_DYYGSR_BHS = ((Label)gvIncomeYG.Rows[i].Cells[18].FindControl("YG_DYYGSR_BHS")); } YG_DYYGSR_BHS是前台的控件的ID gvIncomeYG是gridview的ID gridview里找到控件

ios-根据单元格里的控件tag值,在方法外获得对应的section与row的值

在cell的代理方法里:cellForRowAtIndexPath btn.tag = indexPath.section *100 + indexPath.row; [cell.exitPersonBtn addTarget:self action:@selector(exitPersonBtnClick:) forControlEvents:UIControlEventTouchUpInside]; btn点击后触发的方法里,通过tag值获得cell里对应的控件 GroupMemberDat