利用上升和字体与StyleRange : 格式文本风格 « 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. 43. 11. 利用上升和字体与StyleRange
利用上升和字体与StyleRange
/*******************************************************************************
 * 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 rise and font with StyleRange. 
 *
 * 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.StyleRange;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class StyledTextStyleRangeFont {

  static String text = "You can set any font you want in a range. You can also set a baseline rise and all other old features"
      " like background and foreground, and mix them any way you want. Totally awesome.";

  public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setLayout(new FillLayout());
    StyledText styledText = new StyledText(shell, SWT.WRAP | SWT.BORDER);
    styledText.setText(text);
    FontData data = styledText.getFont().getFontData()[0];
    Font font1 = new Font(display, data.getName(), data.getHeight() 2, data.getStyle());
    Font font2 = new Font(display, data.getName(), data.getHeight() 5, data.getStyle());
    StyleRange[] styles = new StyleRange[8];
    styles[0new StyleRange();
    styles[0].font = font1;
    styles[1new StyleRange();
    styles[1].rise = data.getHeight() 3;
    styles[2new StyleRange();
    styles[2].background = display.getSystemColor(SWT.COLOR_GREEN);
    styles[3new StyleRange();
    styles[3].foreground = display.getSystemColor(SWT.COLOR_MAGENTA);
    styles[4new StyleRange();
    styles[4].font = font2;
    styles[4].foreground = display.getSystemColor(SWT.COLOR_BLUE);
    ;
    styles[4].underline = true;
    styles[5new StyleRange();
    styles[5].rise = -data.getHeight() 3;
    styles[5].strikeout = true;
    styles[5].underline = true;
    styles[6new StyleRange();
    styles[6].font = font1;
    styles[6].foreground = display.getSystemColor(SWT.COLOR_YELLOW);
    styles[6].background = display.getSystemColor(SWT.COLOR_BLUE);
    styles[7new StyleRange();
    styles[7].rise = data.getHeight() 3;
    styles[7].underline = true;
    styles[7].fontStyle = SWT.BOLD;
    styles[7].foreground = display.getSystemColor(SWT.COLOR_RED);
    styles[7].background = display.getSystemColor(SWT.COLOR_BLACK);

    int[] ranges = new int[] { 16461131071012210134314361607168};
    styledText.setStyleRanges(ranges, styles);

    shell.setSize(300300);
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch())
        display.sleep();
    }
    font1.dispose();
    font2.dispose();
    display.dispose();
  }
}
17. 43. 格式文本风格
17. 43. 1. 使用StyleRanges
17. 43. 2. StyleRange构造
17. 43. 3. 比较StyleRange
17. 43. 4. 设置StyleRange到StyledText设置StyleRange到StyledText
17. 43. 5. 两种不同的风格两种不同的风格
17. 43. 6. Store StyleRanges into an array, and called setStyleRanges()Store StyleRanges into an array, and called setStyleRanges()
17. 43. 7. replaceStyleRanges(): specifies which portion of the StyledText to repaintreplaceStyleRanges(): specifies which portion of the StyledText to repaint
17. 43. 8. 动态语法着色
17. 43. 9. 让文字采用粗体让文字采用粗体
17. 43. 10. 强调文字强调文字
17. 43. 11. 利用上升和字体与StyleRange利用上升和字体与StyleRange
17. 43. 12. 更改背景更改背景
17. 43. 13. 改变前景颜色改变前景颜色
17. 43. 14. Make text appear strikeoutMake text appear strikeout
17. 43. 15. StyledText:行背景StyledText:行背景
17. 43. 16. 使用LineBackgroundListener使用LineBackgroundListener
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.