Draw internationalized styled text on a shell : Text « SWT JFace Eclipse « Java






Draw internationalized styled text on a shell

Draw internationalized styled text on a shell
/*
 * TextLayout example snippet: draw internationalized styled text on a shell
 *
 * For a list of all SWT example snippets see
 * http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/dev.html#snippets
 */
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.TextLayout;
import org.eclipse.swt.graphics.TextStyle;
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 Snippet145 {

  public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);

    Font font1 = new Font(display, "Tahoma", 14, SWT.BOLD);
    Font font2 = new Font(display, "MS Mincho", 20, SWT.ITALIC);
    Font font3 = new Font(display, "Arabic Transparent", 18, SWT.NORMAL);

    Color blue = display.getSystemColor(SWT.COLOR_BLUE);
    Color green = display.getSystemColor(SWT.COLOR_GREEN);
    Color yellow = display.getSystemColor(SWT.COLOR_YELLOW);
    Color gray = display.getSystemColor(SWT.COLOR_GRAY);

    final TextLayout layout = new TextLayout(display);
    TextStyle style1 = new TextStyle(font1, yellow, blue);
    TextStyle style2 = new TextStyle(font2, green, null);
    TextStyle style3 = new TextStyle(font3, blue, gray);

    layout
        .setText("English \u65E5\u672C\u8A9E  \u0627\u0644\u0639\u0631\u0628\u064A\u0651\u0629");
    layout.setStyle(style1, 0, 6);
    layout.setStyle(style2, 8, 10);
    layout.setStyle(style3, 13, 21);

    shell.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
    shell.addListener(SWT.Paint, new Listener() {
      public void handleEvent(Event event) {
        layout.draw(event.gc, 10, 10);
      }
    });
    shell.open();
    while (!shell.isDisposed()) {
      if (!display.readAndDispatch())
        display.sleep();
    }
    font1.dispose();
    font2.dispose();
    font3.dispose();
    layout.dispose();
    display.dispose();
  }
}

           
       








Related examples in the same category

1.Text to uppercase
2.Text EventText Event
3.Text and Label demoText and Label demo
4.Wrap LinesWrap Lines
5.Remarks TextRemarks Text
6.Demonstrates text fieldsDemonstrates text fields
7.Demonstrates multiline comments
8.Turns e characters red using a LineStyleListenerTurns e characters red using a LineStyleListener
9.TextField Example 5TextField Example 5
10.TextField Example 4
11.TextField Example 3TextField Example 3
12.TextField Example 2TextField Example 2
13.TextField ExampleTextField Example
14.SWT XML Editor: Modify DOMSWT XML Editor: Modify DOM
15.Detect when the user scrolls a text controlDetect when the user scrolls a text control
16.Verify input (format for date)Verify input (format for date)
17.Verify input (only allow digits)Verify input (only allow digits)
18.Set the selection (start, end)Set the selection (start, end)
19.Text example snippet: set the selection (i-beam)Text example snippet: set the selection (i-beam)
20.Select all the text in the controlSelect all the text in the control
21.Resize a text control (show about 10 characters)Resize a text control (show about 10 characters)
22.Prompt for a password (set the echo character)Prompt for a password (set the echo character)
23.Stop CR from going to the default buttonStop CR from going to the default button
24.Add a select all menu item to the controlAdd a select all menu item to the control
25.Detect CR in a text or combo control (default selection)Detect CR in a text or combo control (default selection)