Eclipse SWT StyleText&ProgressBar(八)

首先申明下,本文为笔者学习《Eclipse插件开发学习笔记》的笔记,并加入笔者自己的理解和归纳总结。

1. StyleText

StyleText可以为不同部分的文字单独制定各种显示属性,StyleRange类型中包含了所有特除显示属性。
StyleRange属性,

  • font,字体
  • foreground,字体颜色
  • background,背景颜色
  • underline,是否有下划线
  • strikeout,是否有删除线
  • rise,文字上升(负值下降)
shell.setLayout(new FillLayout());
StyledText text = new StyledText(shell, SWT.NONE);
text.setText("Hello SWT and JFace!");

// 设置字体和下划线
font = new Font(display, "Courier New", 16, SWT.ITALIC);
StyleRange range1 = new StyleRange();
range1.start = 0;
range1.length = 5;
range1.font = font;
range1.underline = true;
text.setStyleRange(range1);

// 设置删除线和文字位置
StyleRange range2 = new StyleRange();
range2.start = 6;
range2.length = 7;
range2.strikeout = true;
range2.rise = 10;
text.setStyleRange(range2);

// 设置字体颜色和背景色
redColor = display.getSystemColor(SWT.COLOR_RED);
yellowColor = display.getSystemColor(SWT.COLOR_YELLOW);
StyleRange range3 = new StyleRange();
range3.start = 14;
range3.length = 5;
range3.foreground = redColor;
range3.background = yellowColor;
text.setStyleRange(range3);
text.setStyleRange(range3);

... ...

font.dispose();
redColor.dispose();
yellowColor.dispose();

显示如下
在这里插入图片描述

2. 进度条

ProgressBar控件可以用来动态地显示工作进度。
setMinimum()setMaximum()setSelection()方法分别设置进度条最小值、最大值和当前进度。
SWT.INDETERMINATE样式表示不确定当前进度的进度条。

GridLayout layout = new GridLayout();
layout.numColumns = 1;
layout.verticalSpacing = 10;
shell.setLayout(layout);

ProgressBar pb1 = new ProgressBar(shell, SWT.SMOOTH);
pb1.setMaximum(20);
pb1.setSelection(10);

GridData gdPb1 = new GridData(SWT.FILL, SWT.CENTER, true, false);
pb1.setLayoutData(gdPb1);

ProgressBar pb2 = new ProgressBar(shell, SWT.INDETERMINATE);
GridData gdPb2 = new GridData(SWT.FILL, SWT.CENTER, true, false);
pb2.setLayoutData(gdPb2);

new Thread() {
    public void run() {
        selection = 1;
        while(!pb1.isDisposed()) {
            display.asyncExec(new Runnable() {
                @Override
                public void run() {
                    pb1.setSelection(selection++%20);							
                }
            });

            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
            }
        }
    }
}.start();

显示如下
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值