Java tutorial
/****************************************************************************** * All Right Reserved. * Copyright (c) 1998, 2004 Jackwind Li Guojie * * Created on Feb 19, 2004 8:49:16 PM by JACK * $Id$ * *****************************************************************************/ 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.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; public class SampleStyledText { Display display = new Display(); Shell shell = new Shell(display); StyledText styledText; public SampleStyledText() { init(); shell.setLayout(new GridLayout()); styledText = new StyledText(shell, SWT.MULTI | SWT.WRAP | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); styledText.setLayoutData(new GridData(GridData.FILL_BOTH)); Font font = new Font(shell.getDisplay(), "Courier New", 12, SWT.NORMAL); styledText.setFont(font); styledText.setText("123456789\r\nABCDEFGHI"); StyleRange styleRange1 = new StyleRange(); styleRange1.start = 2; styleRange1.length = 16; styleRange1.foreground = shell.getDisplay().getSystemColor(SWT.COLOR_BLUE); styleRange1.background = shell.getDisplay().getSystemColor(SWT.COLOR_YELLOW); styleRange1.fontStyle = SWT.BOLD; StyleRange styleRange2 = new StyleRange(); styleRange2.start = 14; styleRange2.length = 3; styleRange2.fontStyle = SWT.NORMAL; styleRange2.foreground = shell.getDisplay().getSystemColor(SWT.COLOR_YELLOW); styleRange2.background = shell.getDisplay().getSystemColor(SWT.COLOR_BLUE); // styledText.setStyleRange(styleRange1); // styledText.setStyleRange(styleRange2); //styledText.setStyleRanges(new StyleRange[]{styleRange1, styleRange2}); //styledText.setStyleRanges(new StyleRange[]{styleRange2, styleRange1}); //styledText.setLineBackground(1, 1, shell.getDisplay().getSystemColor(SWT.COLOR_GRAY)); // styledText.setSelection(4); // System.out.println(printStyleRanges(styledText.getStyleRanges()) ); // styledText.insert("000"); System.out.println(printStyleRanges(styledText.getStyleRanges())); // styledText.setStyleRanges(new StyleRange[]{styleRange1}); // System.out.println(printStyleRanges(styledText.getStyleRanges()) ); //shell.pack(); shell.setSize(300, 120); shell.open(); //textUser.forceFocus(); // Set up the event loop. while (!shell.isDisposed()) { if (!display.readAndDispatch()) { // If no more entries in event queue display.sleep(); } } display.dispose(); } private String printStyleRanges(StyleRange[] styleRanges) { if (styleRanges == null) return "null"; else if (styleRanges.length == 0) return "[]"; StringBuffer sb = new StringBuffer(); for (int i = 0; i < styleRanges.length; i++) { sb.append(styleRanges[i] + "\n"); } return sb.toString(); } private void init() { } public static void main(String[] args) { new SampleStyledText(); } }