`

BenchmarkTextPackage (figureCanvas) sample 【输入改变figure】

 
阅读更多
public class BenchmarkTextPackage {

    static class StyledLine extends Figure {
        Dimension pref;
        private String text;

        public Dimension getPreferredSize(int wHint, int hHint) {
            if (pref == null)
                pref = FigureUtilities.getTextExtents(text, getFont());
            return pref;
        }

        protected void paintFigure(Graphics graphics) {
            graphics.setFont(getFont());
            graphics.drawText(text, bounds.x, bounds.y);
        }

        public void setText(String text) {
            this.text = text;
            pref = null;
            revalidate();
        }
        public String getText() {
            return text;
        }
    }

    static Font BIG = new Font(null, "Times", 18, SWT.BOLD);
    static StyledLine typing;

    public static void main(String[] args) {
        final Display display = Display.getDefault();
        final Shell shell = new Shell(SWT.SHELL_TRIM);
        shell.setLayout(new FillLayout());

        //ImageData data = new ImageData(StyleLines.class.getResourceAsStream("class.gif"));
        //	final Image image = new Image(null, data, data.getTransparencyMask());

        FigureCanvas canvas = new FigureCanvas(shell);

        Figure page = new Figure();
        ToolbarLayout layout = new ToolbarLayout();
//        layout.setStretchMinorAxis(false);
//        layout.setMinorAlignment(ToolbarLayout.ALIGN_TOPLEFT);
        page.setLayoutManager(layout);

        for (int i = 0; i < 50; i++) {
            StyledLine line = new StyledLine(); 
            if (i % 20 == 0)
                line.setFont(BIG);
            line.setText("This is line number " + i);
            if (i == 10)
                typing = line;
            page.add(line);
        }
        canvas.setContents(page);

        canvas.addKeyListener(new KeyListener() {
            public void keyPressed(KeyEvent e) {
                typing.setText(typing.getText() + e.character);
                typing.revalidate();
                typing.repaint();
            }

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

        shell.setSize(400, 300);
        shell.open();

        while (!shell.isDisposed())
            if (!display.readAndDispatch())
                display.sleep();
    }

}

 

 

 

分享到:
评论

相关推荐

    AV_SAMPLE_FMT_FLTP转为AV_SAMPLE_FMT_S16P(ffmpeg)

    AV_SAMPLE_FMT_FLTP转为AV_SAMPLE_FMT_S16P(ffmpeg),在使用ffmpeg解码aac的时候,如果使用avcodec_decode_audio4函数解码,那么解码出来的会是AV_SAMPLE_FMT_FLTP 格式的数据( float, 4bit , planar), 如果我们希望...

    sample词法分析和语法分析

    本项目专注于"sample"语言的编译器,它实现了词法分析和语法分析两个关键步骤,使得代码能够被有效地转换为四元式,这是一种中间表示形式,常用于简化后续的编译过程。 首先,我们来深入了解词法分析(也称为扫描或...

    sample_venc_海思venc源码_sample_venc_

    《海思VENC源码分析——sample_venc深入解析》 海思VENC,全称为Video Encoder,是海思半导体公司开发的一种视频编码模块,主要应用于视频处理领域,如视频监控、多媒体通信等。在Hi3516DV300这款芯片上,VENC功能...

    iAP2 Sample Source R1

    iAP2 Sample Source R1 iAP2 Sample Source R1 iAP2 Sample Source R1 iAP2 Sample Source R1 iAP2 Sample Source R1 iAP2 Sample Source R1 iAP2 Sample Source R1 iAP2 Sample Source R1

    bevformer转onnx自己电脑失败,由于grid-sample算子不支持

    这个操作通过一个采样网格对输入图像进行采样,可以实现非线性的空间变换。 在将PyTorch模型转换为ONNX时,所有使用的算子都需要在ONNX的算子集内有对应的支持。不幸的是,“grid-sample”算子目前可能不在ONNX的...

    微信wx_sample下载,公众号wx_sample.php下载

    微信wx_sample下载。wx_sample是微信官方提供的公众号开发参考php脚本,版本是wx_sample.20140819,很多朋友找不到,就在这里提供给大家。

    sample_weight.pkl

    它们决定了神经网络如何从输入数据中学习并形成决策。"sample_weight.pkl"文件存储的就是这些经过训练得到的权重值,通常用于表示模型对不同样本的重视程度。在MNIST任务中,这些权重可能反映了模型在识别某些特定...

    词法分析(Sample语言)

    3. **常量**:如整数、浮点数或字符串,它们的值在程序执行期间不会改变。词法分析器需要区分数值常量和字符串常量。 4. **运算符**:如加号`+`、减号`-`、乘号`*`、除号`/`等,它们用于执行算术或逻辑操作。 5. *...

    zemax sample

    zemax sample

    sample (1)_SampleCode_

    标题中的"sample (1)_SampleCode_"表明这是一个关于示例代码的压缩文件,可能是为了演示某种编程技术或软件功能。描述中的"Sample Archive Files Sample ZIP File"确认了这是一个包含示例档案的ZIP压缩文件,通常...

    c-sample_Sample1_

    【标题】"C-sample_Sample1_" 是一个C语言编程示例项目,旨在展示C语言的基础用法和关键概念。 【描述】"My Sample in C which demonstrating C programming" 暗示了这个项目是一个用于教学或自我学习目的的C语言...

    编译原理实验 语法分析 Sample语言

    在"0b67e38523ef4f329d896899d0107aec"这个文件中,可能包含了实验相关的代码实现、样例输入输出、测试用例等资料,这些都能帮助我们更好地理解和实施Sample语言的语法分析。 总的来说,编译原理实验中的语法分析是...

    SAMPLE语言词法分析器

    b) 请求输入测试程序名,键入程序名后自动开始词法分析并输出结果; c) 输出结果为单词的二元式序列(样式见样板输出1和2); d) 要求能发现下列词法错误和指出错误性质和位置: 非法字符,即不是SAMPLE字符集的符号...

    intra-mart sample

    【标题】:“intra-mart sample”是一个关于intra-mart平台的示例项目,它展示了如何在实际环境中应用和配置intra-mart系统。这个标题暗示了我们将会接触到一个包含多个组件和功能的演示环境,帮助用户了解intra-...

    Sample语言编译器(词法分析,正规式)

    这表明我们讨论的是一个用于处理名为Sample的编程语言的编译器,该编译器包含了对输入源代码进行词法分析的功能,并且可能涉及到正规式(Regular Expressions)的使用,这是编译器设计中的基础部分,用于识别和处理...

    CCSS_Sample.sav

    CCSS_Sample.sav文件请SPSS学习者自取

    sample_uvc.rar

    海思3531d uvc例程,实现多路yuv或mjpeg格式的uvc采集,分辨率设置,HMDI输出,文件包含sample_comm.h、sample_comm_sys.c、 sample_comm_vdec.c、sample_comm_vo.c、sample_comm_vpss.c、sample_uvc.c

    sap sample

    sap sample sap sample sample sample sap sample sap sample sample samplesap sample sap sample sample sample sap sample sap sample sample samplevsap sample sap sample sample sample

    threadsample官方例子

    《线程样本:深入解析threadsample官方示例》 在编程世界中,多线程是提升程序执行效率的重要手段,特别是在处理并发任务时。本文将深入探讨“threadsample”官方提供的多线程示例,旨在帮助开发者理解并掌握多线程...

    venc_编码sample_海思venc_海思_ven文件_venc_

    在"sample_venc.c"中,我们可以期待看到初始化VENC实例、设置编码参数、输入原始视频帧、获取编码结果以及关闭编码器的示例代码。 3. **海思VENC**:海思的视频编码器具有高效的编码算法,能够提供高质量的编码输出...

Global site tag (gtag.js) - Google Analytics