<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSWT%2FStyledText_Style</id>
		<title>Java Tutorial/SWT/StyledText Style - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FSWT%2FStyledText_Style"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/SWT/StyledText_Style&amp;action=history"/>
		<updated>2026-04-21T16:54:27Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/SWT/StyledText_Style&amp;diff=3171&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/SWT/StyledText_Style&amp;diff=3171&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:26Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:44, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/SWT/StyledText_Style&amp;diff=3172&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/SWT/StyledText_Style&amp;diff=3172&amp;oldid=prev"/>
				<updated>2010-05-31T15:21:38Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Change the background ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.eclipse.swt.SWT;&lt;br /&gt;
import org.eclipse.swt.custom.StyleRange;&lt;br /&gt;
import org.eclipse.swt.custom.StyledText;&lt;br /&gt;
import org.eclipse.swt.layout.FillLayout;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
public class TextBackground {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Display display = new Display();&lt;br /&gt;
    Shell shell = new Shell(display);&lt;br /&gt;
    shell.setLayout(new FillLayout());&lt;br /&gt;
    StyledText text = new StyledText(shell, SWT.BORDER);&lt;br /&gt;
    text.setText(&amp;quot;0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;);&lt;br /&gt;
    StyleRange style1 = new StyleRange();&lt;br /&gt;
    style1.start = 0;&lt;br /&gt;
    style1.length = 10;&lt;br /&gt;
    style1.background = display.getSystemColor(SWT.COLOR_BLUE);&lt;br /&gt;
    text.setStyleRange(style1);&lt;br /&gt;
    shell.pack();&lt;br /&gt;
    shell.open();&lt;br /&gt;
    while (!shell.isDisposed()) {&lt;br /&gt;
      if (!display.readAndDispatch())&lt;br /&gt;
        display.sleep();&lt;br /&gt;
    }&lt;br /&gt;
    display.dispose();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Change the Foreground color ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.eclipse.swt.SWT;&lt;br /&gt;
import org.eclipse.swt.custom.StyleRange;&lt;br /&gt;
import org.eclipse.swt.custom.StyledText;&lt;br /&gt;
import org.eclipse.swt.layout.FillLayout;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
public class TextForeground {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Display display = new Display();&lt;br /&gt;
    Shell shell = new Shell(display);&lt;br /&gt;
    shell.setLayout(new FillLayout());&lt;br /&gt;
    StyledText text = new StyledText(shell, SWT.BORDER);&lt;br /&gt;
    text.setText(&amp;quot;0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;);&lt;br /&gt;
    StyleRange style1 = new StyleRange();&lt;br /&gt;
    style1.start = 0;&lt;br /&gt;
    style1.length = 10;&lt;br /&gt;
    style1.foreground = display.getSystemColor(SWT.COLOR_RED);&lt;br /&gt;
    text.setStyleRange(style1);&lt;br /&gt;
    shell.pack();&lt;br /&gt;
    shell.open();&lt;br /&gt;
    while (!shell.isDisposed()) {&lt;br /&gt;
      if (!display.readAndDispatch())&lt;br /&gt;
        display.sleep();&lt;br /&gt;
    }&lt;br /&gt;
    display.dispose();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Compare StyleRange ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;similarTo(), compares the display data for two StyleRange objects for equality: the foreground color, the background color, and the font style. &lt;br /&gt;
It ignores which portion of the text the StyleRanges correspond to (their start and length fields).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.eclipse.swt.SWT;&lt;br /&gt;
import org.eclipse.swt.custom.StyleRange;&lt;br /&gt;
import org.eclipse.swt.custom.StyledText;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
public class CompareStyleRange {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    final Display display = new Display();&lt;br /&gt;
    final Shell shell = new Shell(display);&lt;br /&gt;
    final StyledText styledText = new StyledText(shell, SWT.V_SCROLL | SWT.BORDER);&lt;br /&gt;
    styledText.setText(&amp;quot;12345&amp;quot;);&lt;br /&gt;
    // Use the empty constructor and set the fields&lt;br /&gt;
    StyleRange sr1 = new StyleRange();&lt;br /&gt;
    sr1.start = 7;&lt;br /&gt;
    sr1.length = 14;&lt;br /&gt;
    sr1.foreground = display.getSystemColor(SWT.COLOR_GREEN);&lt;br /&gt;
    sr1.background = display.getSystemColor(SWT.COLOR_WHITE);&lt;br /&gt;
    sr1.fontStyle = SWT.BOLD;&lt;br /&gt;
    // Use the constructor that accepts the fields&lt;br /&gt;
    StyleRange sr2 = new StyleRange(7, 14, display.getSystemColor(SWT.COLOR_GREEN), display&lt;br /&gt;
        .getSystemColor(SWT.COLOR_WHITE), SWT.BOLD);&lt;br /&gt;
    &lt;br /&gt;
    System.out.println(sr2.similarTo(sr1));&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    styledText.setBounds(10, 10, 100, 100);&lt;br /&gt;
    shell.open();&lt;br /&gt;
    while (!shell.isDisposed()) {&lt;br /&gt;
      if (!display.readAndDispatch()) {&lt;br /&gt;
        display.sleep();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    display.dispose();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Dynamic syntax coloring ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.eclipse.swt.SWT;&lt;br /&gt;
import org.eclipse.swt.custom.ExtendedModifyEvent;&lt;br /&gt;
import org.eclipse.swt.custom.ExtendedModifyListener;&lt;br /&gt;
import org.eclipse.swt.custom.StyleRange;&lt;br /&gt;
import org.eclipse.swt.custom.StyledText;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
public class SyntaxColoring {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    final Display display = new Display();&lt;br /&gt;
    final Shell shell = new Shell(display);&lt;br /&gt;
    final StyledText styledText = new StyledText(shell, SWT.V_SCROLL | SWT.BORDER);&lt;br /&gt;
    final String PUNCTUATION = &amp;quot;(){}&amp;quot;;&lt;br /&gt;
    styledText.addExtendedModifyListener(new ExtendedModifyListener() {&lt;br /&gt;
      public void modifyText(ExtendedModifyEvent event) {&lt;br /&gt;
        int end = event.start + event.length - 1;&lt;br /&gt;
        if (event.start &amp;lt;= end) {&lt;br /&gt;
          String text = styledText.getText(event.start, end);&lt;br /&gt;
          java.util.List ranges = new java.util.ArrayList();&lt;br /&gt;
          for (int i = 0, n = text.length(); i &amp;lt; n; i++) {&lt;br /&gt;
            if (PUNCTUATION.indexOf(text.charAt(i)) &amp;gt; -1) {&lt;br /&gt;
              ranges.add(new StyleRange(event.start + i, 1, display.getSystemColor(SWT.COLOR_BLUE),&lt;br /&gt;
                  null, SWT.BOLD));&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          if (!ranges.isEmpty()) {&lt;br /&gt;
            styledText.replaceStyleRanges(event.start, event.length, (StyleRange[]) ranges&lt;br /&gt;
                .toArray(new StyleRange[0]));&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    styledText.setBounds(10, 10, 500, 100);&lt;br /&gt;
    shell.open();&lt;br /&gt;
    while (!shell.isDisposed()) {&lt;br /&gt;
      if (!display.readAndDispatch()) {&lt;br /&gt;
        display.sleep();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    display.dispose();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Make text appear strikeout ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.eclipse.swt.SWT;&lt;br /&gt;
import org.eclipse.swt.custom.StyleRange;&lt;br /&gt;
import org.eclipse.swt.custom.StyledText;&lt;br /&gt;
import org.eclipse.swt.layout.FillLayout;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
public class TextStrikeout {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Display display = new Display();&lt;br /&gt;
    Shell shell = new Shell(display);&lt;br /&gt;
    shell.setText(&amp;quot;StyledText with underline and strike through&amp;quot;);&lt;br /&gt;
    shell.setLayout(new FillLayout());&lt;br /&gt;
    StyledText text = new StyledText(shell, SWT.BORDER);&lt;br /&gt;
    text.setText(&amp;quot;0123456789 ABCDEFGHIJKLM NOPQRSTUVWXYZ&amp;quot;);&lt;br /&gt;
    // make 0123456789 appear strikeout&lt;br /&gt;
    StyleRange style1 = new StyleRange();&lt;br /&gt;
    style1.start = 0;&lt;br /&gt;
    style1.length = 10;&lt;br /&gt;
    style1.strikeout = true;&lt;br /&gt;
    text.setStyleRange(style1);&lt;br /&gt;
    shell.pack();&lt;br /&gt;
    shell.open();&lt;br /&gt;
    while (!shell.isDisposed()) {&lt;br /&gt;
      if (!display.readAndDispatch())&lt;br /&gt;
        display.sleep();&lt;br /&gt;
    }&lt;br /&gt;
    display.dispose();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Make text appear underlined ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.eclipse.swt.SWT;&lt;br /&gt;
import org.eclipse.swt.custom.StyleRange;&lt;br /&gt;
import org.eclipse.swt.custom.StyledText;&lt;br /&gt;
import org.eclipse.swt.layout.FillLayout;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
public class TextUnderlined {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Display display = new Display();&lt;br /&gt;
    Shell shell = new Shell(display);&lt;br /&gt;
    shell.setText(&amp;quot;StyledText with underline and strike through&amp;quot;);&lt;br /&gt;
    shell.setLayout(new FillLayout());&lt;br /&gt;
    StyledText text = new StyledText(shell, SWT.BORDER);&lt;br /&gt;
    text.setText(&amp;quot;0123456789 ABCDEFGHIJKLM NOPQRSTUVWXYZ&amp;quot;);&lt;br /&gt;
    // make 0123456789 appear underlined&lt;br /&gt;
    StyleRange style1 = new StyleRange();&lt;br /&gt;
    style1.start = 0;&lt;br /&gt;
    style1.length = 10;&lt;br /&gt;
    style1.underline = true;&lt;br /&gt;
    text.setStyleRange(style1);&lt;br /&gt;
    shell.pack();&lt;br /&gt;
    shell.open();&lt;br /&gt;
    while (!shell.isDisposed()) {&lt;br /&gt;
      if (!display.readAndDispatch())&lt;br /&gt;
        display.sleep();&lt;br /&gt;
    }&lt;br /&gt;
    display.dispose();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Make Text Bold ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.eclipse.swt.SWT;&lt;br /&gt;
import org.eclipse.swt.custom.StyleRange;&lt;br /&gt;
import org.eclipse.swt.custom.StyledText;&lt;br /&gt;
import org.eclipse.swt.layout.FillLayout;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
public class TextBold {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Display display = new Display();&lt;br /&gt;
    Shell shell = new Shell(display);&lt;br /&gt;
    shell.setLayout(new FillLayout());&lt;br /&gt;
    StyledText text = new StyledText(shell, SWT.BORDER);&lt;br /&gt;
    text.setText(&amp;quot;0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;);&lt;br /&gt;
    StyleRange style1 = new StyleRange();&lt;br /&gt;
    style1.start = 0;&lt;br /&gt;
    style1.length = 10;&lt;br /&gt;
    style1.fontStyle = SWT.BOLD;&lt;br /&gt;
    text.setStyleRange(style1);&lt;br /&gt;
    shell.pack();&lt;br /&gt;
    shell.open();&lt;br /&gt;
    while (!shell.isDisposed()) {&lt;br /&gt;
      if (!display.readAndDispatch())&lt;br /&gt;
        display.sleep();&lt;br /&gt;
    }&lt;br /&gt;
    display.dispose();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  replaceStyleRanges(): specifies which portion of the StyledText to repaint ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.eclipse.swt.SWT;&lt;br /&gt;
import org.eclipse.swt.custom.StyleRange;&lt;br /&gt;
import org.eclipse.swt.custom.StyledText;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
public class ReplaceStyleRanges {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    final Display display = new Display();&lt;br /&gt;
    final Shell shell = new Shell(display);&lt;br /&gt;
    final StyledText styledText = new StyledText(shell, SWT.V_SCROLL | SWT.BORDER);&lt;br /&gt;
    styledText.setText(&amp;quot;asdfasdfasdfasdf12345678910234567890&amp;quot;);&lt;br /&gt;
    StyleRange[] ranges = new StyleRange[2];&lt;br /&gt;
    ranges[0] = new StyleRange(0, 3, display.getSystemColor(SWT.COLOR_GREEN), null);&lt;br /&gt;
    ranges[1] = new StyleRange(3, 6, display.getSystemColor(SWT.COLOR_BLUE), null);&lt;br /&gt;
    styledText.setStyleRanges(ranges);&lt;br /&gt;
    &lt;br /&gt;
    styledText.replaceStyleRanges(5, 9, ranges);&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    styledText.setBounds(10, 10, 500, 100);&lt;br /&gt;
    shell.open();&lt;br /&gt;
    while (!shell.isDisposed()) {&lt;br /&gt;
      if (!display.readAndDispatch()) {&lt;br /&gt;
        display.sleep();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    display.dispose();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Set a single StyleRange into a StyledText ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
styledText.setStyleRange(myStyleRange);&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Set two Different styles ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.eclipse.swt.SWT;&lt;br /&gt;
import org.eclipse.swt.custom.StyleRange;&lt;br /&gt;
import org.eclipse.swt.custom.StyledText;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
public class SetDifferentStyles {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    final Display display = new Display();&lt;br /&gt;
    final Shell shell = new Shell(display);&lt;br /&gt;
    final StyledText styledText = new StyledText(shell, SWT.V_SCROLL | SWT.BORDER);&lt;br /&gt;
    styledText.setText(&amp;quot;asdfasdfasdfasdf12345678910234567890&amp;quot;);&lt;br /&gt;
    // Turn all of the text orange, with the default background color&lt;br /&gt;
    styledText.setStyleRange(new StyleRange(0, 9, display.getSystemColor(SWT.COLOR_GREEN), null));&lt;br /&gt;
    // Turn &amp;quot;Gators&amp;quot; blue&lt;br /&gt;
    styledText.setStyleRange(new StyleRange(3, 6, display.getSystemColor(SWT.COLOR_WHITE), null));&lt;br /&gt;
    styledText.setBounds(10, 10, 500, 100);&lt;br /&gt;
    shell.open();&lt;br /&gt;
    while (!shell.isDisposed()) {&lt;br /&gt;
      if (!display.readAndDispatch()) {&lt;br /&gt;
        display.sleep();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    display.dispose();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Colors used must be valid (not disposed) for the life of the StyleRanges. &lt;br /&gt;
The offsets and lengths of the StyleRanges must be within the range of existing text-when created.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Store StyleRanges into an array, and called setStyleRanges() ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Passing the StyleRanges at once reduces the amount of flashing as the StyledText repaints.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.eclipse.swt.SWT;&lt;br /&gt;
import org.eclipse.swt.custom.StyleRange;&lt;br /&gt;
import org.eclipse.swt.custom.StyledText;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
public class StyleRangeSetArray {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    final Display display = new Display();&lt;br /&gt;
    final Shell shell = new Shell(display);&lt;br /&gt;
    final StyledText styledText = new StyledText(shell, SWT.V_SCROLL | SWT.BORDER);&lt;br /&gt;
    styledText.setText(&amp;quot;asdfasdfasdfasdf12345678910234567890&amp;quot;);&lt;br /&gt;
    StyleRange[] ranges = new StyleRange[2];&lt;br /&gt;
    ranges[0] = new StyleRange(0, 3, display.getSystemColor(SWT.COLOR_GREEN), null);&lt;br /&gt;
    ranges[1] = new StyleRange(3, 6, display.getSystemColor(SWT.COLOR_BLUE), null);&lt;br /&gt;
    styledText.setStyleRanges(ranges);&lt;br /&gt;
    styledText.setBounds(10, 10, 500, 100);&lt;br /&gt;
    shell.open();&lt;br /&gt;
    while (!shell.isDisposed()) {&lt;br /&gt;
      if (!display.readAndDispatch()) {&lt;br /&gt;
        display.sleep();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    display.dispose();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  StyledText: set line background ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Turn the background blue for the first six lines of the StyledText:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
styledText.setLineBackground(0, 6, blue);&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  StyleRange Constructors ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ConstructorDescriptionStyleRange()Creates an empty StyleRange.StyleRange(int start, int length, Color foreground, Color background)Creates a StyleRange with the specified start, length, foreground color, and background color.StyleRange(int start, int length, Color foreground, Color background, int fontStyle)Creates a StyleRange with the specified start, length, foreground color, background color, and font style.&lt;br /&gt;
&amp;lt;p&amp;gt;The following code creates two identical StyleRange objects:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
StyleRange sr1 = new StyleRange();&lt;br /&gt;
sr1.start = 7;&lt;br /&gt;
sr1.length = 14;&lt;br /&gt;
sr1.foreground = display.getSystemColor(SWT.COLOR_GREEN);&lt;br /&gt;
sr1.background = display.getSystemColor(SWT.COLOR_WHITE);&lt;br /&gt;
sr1.fontStyle = SWT.BOLD;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Use rise and font with StyleRange ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*******************************************************************************&lt;br /&gt;
 * Copyright (c) 2000, 2005 IBM Corporation and others.&lt;br /&gt;
 * All rights reserved. This program and the accompanying materials&lt;br /&gt;
 * are made available under the terms of the Eclipse Public License v1.0&lt;br /&gt;
 * which accompanies this distribution, and is available at&lt;br /&gt;
 * http://www.eclipse.org/legal/epl-v10.html&lt;br /&gt;
 *&lt;br /&gt;
 * Contributors:&lt;br /&gt;
 *     IBM Corporation - initial API and implementation&lt;br /&gt;
 *******************************************************************************/&lt;br /&gt;
//package org.eclipse.swt.snippets;&lt;br /&gt;
/*&lt;br /&gt;
 * SWT StyledText snippet: use rise and font with StyleRange. &lt;br /&gt;
 *&lt;br /&gt;
 * For a list of all SWT example snippets see&lt;br /&gt;
 * http://www.eclipse.org/swt/snippets/&lt;br /&gt;
 * &lt;br /&gt;
 * @since 3.2&lt;br /&gt;
 */&lt;br /&gt;
import org.eclipse.swt.SWT;&lt;br /&gt;
import org.eclipse.swt.custom.StyleRange;&lt;br /&gt;
import org.eclipse.swt.custom.StyledText;&lt;br /&gt;
import org.eclipse.swt.graphics.Font;&lt;br /&gt;
import org.eclipse.swt.graphics.FontData;&lt;br /&gt;
import org.eclipse.swt.layout.FillLayout;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
public class StyledTextStyleRangeFont {&lt;br /&gt;
  static String text = &amp;quot;You can set any font you want in a range. You can also set a baseline rise and all other old features&amp;quot;&lt;br /&gt;
      + &amp;quot; like background and foreground, and mix them any way you want. Totally awesome.&amp;quot;;&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Display display = new Display();&lt;br /&gt;
    Shell shell = new Shell(display);&lt;br /&gt;
    shell.setLayout(new FillLayout());&lt;br /&gt;
    StyledText styledText = new StyledText(shell, SWT.WRAP | SWT.BORDER);&lt;br /&gt;
    styledText.setText(text);&lt;br /&gt;
    FontData data = styledText.getFont().getFontData()[0];&lt;br /&gt;
    Font font1 = new Font(display, data.getName(), data.getHeight() * 2, data.getStyle());&lt;br /&gt;
    Font font2 = new Font(display, data.getName(), data.getHeight() * 4 / 5, data.getStyle());&lt;br /&gt;
    StyleRange[] styles = new StyleRange[8];&lt;br /&gt;
    styles[0] = new StyleRange();&lt;br /&gt;
    styles[0].font = font1;&lt;br /&gt;
    styles[1] = new StyleRange();&lt;br /&gt;
    styles[1].rise = data.getHeight() / 3;&lt;br /&gt;
    styles[2] = new StyleRange();&lt;br /&gt;
    styles[2].background = display.getSystemColor(SWT.COLOR_GREEN);&lt;br /&gt;
    styles[3] = new StyleRange();&lt;br /&gt;
    styles[3].foreground = display.getSystemColor(SWT.COLOR_MAGENTA);&lt;br /&gt;
    styles[4] = new StyleRange();&lt;br /&gt;
    styles[4].font = font2;&lt;br /&gt;
    styles[4].foreground = display.getSystemColor(SWT.COLOR_BLUE);&lt;br /&gt;
    ;&lt;br /&gt;
    styles[4].underline = true;&lt;br /&gt;
    styles[5] = new StyleRange();&lt;br /&gt;
    styles[5].rise = -data.getHeight() / 3;&lt;br /&gt;
    styles[5].strikeout = true;&lt;br /&gt;
    styles[5].underline = true;&lt;br /&gt;
    styles[6] = new StyleRange();&lt;br /&gt;
    styles[6].font = font1;&lt;br /&gt;
    styles[6].foreground = display.getSystemColor(SWT.COLOR_YELLOW);&lt;br /&gt;
    styles[6].background = display.getSystemColor(SWT.COLOR_BLUE);&lt;br /&gt;
    styles[7] = new StyleRange();&lt;br /&gt;
    styles[7].rise = data.getHeight() / 3;&lt;br /&gt;
    styles[7].underline = true;&lt;br /&gt;
    styles[7].fontStyle = SWT.BOLD;&lt;br /&gt;
    styles[7].foreground = display.getSystemColor(SWT.COLOR_RED);&lt;br /&gt;
    styles[7].background = display.getSystemColor(SWT.COLOR_BLACK);&lt;br /&gt;
    int[] ranges = new int[] { 16, 4, 61, 13, 107, 10, 122, 10, 134, 3, 143, 6, 160, 7, 168, 7 };&lt;br /&gt;
    styledText.setStyleRanges(ranges, styles);&lt;br /&gt;
    shell.setSize(300, 300);&lt;br /&gt;
    shell.open();&lt;br /&gt;
    while (!shell.isDisposed()) {&lt;br /&gt;
      if (!display.readAndDispatch())&lt;br /&gt;
        display.sleep();&lt;br /&gt;
    }&lt;br /&gt;
    font1.dispose();&lt;br /&gt;
    font2.dispose();&lt;br /&gt;
    display.dispose();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using LineBackgroundListener ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;LineBackgroundEvent Fields&amp;lt;/p&amp;gt;&lt;br /&gt;
FieldDescriptionint lineOffsetThe zero-based offset, relative to the whole text, of the line the StyledText needs background color information for. Note: this is the character offset, not the line number.String lineTextThe text of the line the StyledText needs background color information for.Color lineBackgroundThe field that holds the color you set. The StyledText uses this field to set the background color for the line.&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.eclipse.swt.SWT;&lt;br /&gt;
import org.eclipse.swt.custom.LineBackgroundEvent;&lt;br /&gt;
import org.eclipse.swt.custom.LineBackgroundListener;&lt;br /&gt;
import org.eclipse.swt.custom.StyledText;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
public class StyledTextLineBackgroundListener {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    final Display display = new Display();&lt;br /&gt;
    final Shell shell = new Shell(display);&lt;br /&gt;
    final StyledText styledText = new StyledText(shell, SWT.V_SCROLL | SWT.BORDER);&lt;br /&gt;
    styledText.setText(&amp;quot;\n1234\n124\n\1234\n12314\n\1241234\n&amp;quot;);&lt;br /&gt;
    styledText.addLineBackgroundListener(new LineBackgroundListener() {&lt;br /&gt;
      public void lineGetBackground(LineBackgroundEvent event) {&lt;br /&gt;
        if (event.lineText.indexOf(&amp;quot;SWT&amp;quot;) &amp;gt; -1) {&lt;br /&gt;
          event.lineBackground = Display.getCurrent().getSystemColor(SWT.COLOR_BLUE);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    styledText.setBounds(10, 10, 500, 100);&lt;br /&gt;
    shell.open();&lt;br /&gt;
    while (!shell.isDisposed()) {&lt;br /&gt;
      if (!display.readAndDispatch()) {&lt;br /&gt;
        display.sleep();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    display.dispose();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using StyleRanges ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;StyledText uses instances of the StyleRange class to track the colors and styles. &lt;br /&gt;
Each StyleRange controls a portion of the StyledText&amp;quot;s text:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;its starting offset&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;its length (in characters) of the portion&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;the foreground color&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;background color,&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;font style.&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;StyleRange Fields&amp;lt;/p&amp;gt;&lt;br /&gt;
FieldDescriptionColor backgroundThe background color, or null to for the default background color.int fontStyleThe font style (SWT.NORMAL or SWT.BOLD).Color foregroundThe foreground color, or null for the default foreground color.int lengthThe length, in number of characters.int startThe starting offset.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>