StyledText:使用梯度背景 : 格式文本 « SWT « Java 教程

En
Java 教程
1. 语言基础
2. 数据类型
3. 操作符
4. 流程控制
5. 类定义
6. 开发相关
7. 反射
8. 正则表达式
9. 集合
10. 线
11. 文件
12. 泛型
13. 本土化
14. Swing
15. Swing事件
16. 二维图形
17. SWT
18. SWT 二维图形
19. 网络
20. 数据库
21. Hibernate
22. JPA
23. JSP
24. JSTL
25. Servlet
26. Web服务SOA
27. EJB3
28. Spring
29. PDF
30. 电子邮件
31. 基于J2ME
32. J2EE应用
33. XML
34. 设计模式
35. 日志
36. 安全
37. Apache工具
38. 蚂蚁编译
39. JUnit单元测试
Java
Java 教程 » SWT » 格式文本 
17. 42. 6. StyledText:使用梯度背景
StyledText:使用梯度背景
/*******************************************************************************
 * Copyright (c) 2000, 2005 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
//package org.eclipse.swt.snippets;
/*
 * SWT StyledText snippet: use gradient background.
 
 * For a list of all SWT example snippets see
 * http://www.eclipse.org/swt/snippets/
 
 * @since 3.2
 */
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;

public class StyledTextGradientBackground {

  static String text = "Plans do not materialize out of nowhere, nor are they entirely static. To ensure the planning process is "
      "transparent and open to the entire Eclipse community, we (the Eclipse PMC) post plans in an embryonic "
      "form and revise them throughout the release cycle. \n"
      "The first part of the plan deals with the important matters of release deliverables, release milestones, target "
      "operating environments, and release-to-release compatibility. These are all things that need to be clear for "
      "any release, even if no features were to change.  \n";

  static Image oldImage;

  public static void main(String[] args) {
    final Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());
    final StyledText styledText = new StyledText(shell, SWT.WRAP | SWT.BORDER);
    styledText.setText(text);
    FontData data = display.getSystemFont().getFontData()[0];
    Font font = new Font(display, data.getName()16, SWT.BOLD);
    styledText.setFont(font);
    styledText.setForeground(display.getSystemColor(SWT.COLOR_BLUE));
    styledText.addListener(SWT.Resize, new Listener() {
      public void handleEvent(Event event) {
        Rectangle rect = styledText.getClientArea();
        Image newImage = new Image(display, 1, Math.max(1, rect.height));
        GC gc = new GC(newImage);
        gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
        gc.setBackground(display.getSystemColor(SWT.COLOR_YELLOW));
        gc.fillGradientRectangle(rect.x, rect.y, 1, rect.height, true);
        gc.dispose();
        styledText.setBackgroundImage(newImage);
        if (oldImage != null)
          oldImage.dispose();
        oldImage = newImage;
      }
    });
    shell.setSize(700400);
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch())
        display.sleep();
    }
    if (oldImage != null)
      oldImage.dispose();
    font.dispose();
    display.dispose();
  }
}
17. 42. 格式文本
17. 42. 1. 创建StyledText控件
17. 42. 2. Create a StyledText that scrolls vertically, wraps text, and displays a border:Create a StyledText that scrolls vertically, wraps text, and displays a border:
17. 42. 3. 使用剪贴板使用剪贴板
17. 42. 4. 画一个文本框画一个文本框
17. 42. 5. StyledText:嵌入图像StyledText:嵌入图像
17. 42. 6. StyledText:使用梯度背景StyledText:使用梯度背景
17. 42. 7. StyledText:嵌入控件StyledText:嵌入控件
17. 42. 8. Getting Statistics: Caret Offset, Total Lines of Text, Total Characters and Current LineGetting Statistics: Caret Offset, Total Lines of Text, Total Characters and Current Line
17. 42. 9. 打印StyledText打印StyledText
17. 42. 10. 在一个单独的线程打印到默认打印机
17. 42. 11. 设置页面格式,打印
17. 42. 12. StyledText只读
17. 42. 13. 限制字符数限制字符数
17. 42. 14. 替换文字范围替换文字范围
17. 42. 15. Understanding the Repercussions
17. 42. 16. 一个简单的编辑器一个简单的编辑器
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.