Mega Code Archive

 
Categories / Java / SWT Jface Eclipse
 

Formatted Text

/******************************************************************************  * All Right Reserved.   * Copyright (c) 1998, 2004 Jackwind Li Guojie  *   * Created on Mar 16, 2004 7:20:52 PM by JACK  * $Id$  *   *****************************************************************************/ import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.FontData; import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.ColorDialog; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.FontDialog; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Shell; public class FormattedText {   Display display = new Display();   Shell shell = new Shell(display);      // the label used to display the text.   Label label;      Button buttonColor;   Button buttonFont;      // current selected color.   Color color;   // current selected font.   Font font;   public FormattedText() {     label = new Label(shell, SWT.BORDER | SWT.WRAP);     label.setBackground(display.getSystemColor(SWT.COLOR_WHITE));     label.setText("Java UI Programming with SWT/JFace");          buttonColor = new Button(shell, SWT.PUSH);     buttonColor.setText("Change color");     buttonColor.addListener(SWT.Selection, new Listener() {       public void handleEvent(Event event) {         ColorDialog colorDialog = new ColorDialog(shell);         if(color != null)           colorDialog.setRGB(color.getRGB());         RGB value = colorDialog.open();         if(value != null) {           if(color != null)             color.dispose();           color = new Color(display, value);           label.setForeground(color);         }else{           System.out.println("Setting foreground color action canceled.");         }       }     });          buttonFont = new Button(shell, SWT.PUSH);     buttonFont.setText("Change font");     buttonFont.addListener(SWT.Selection, new Listener() {       public void handleEvent(Event event) {         FontDialog fontDialog = new FontDialog(shell);         if(font != null)           fontDialog.setFontList(font.getFontData());         FontData fontData = fontDialog.open();         if(fontData != null) {           if(font != null)             font.dispose();           font = new Font(display, fontData);           label.setFont(font);         }else{           System.out.println("Setting font action canceled.");         }       }     });          label.setBounds(0, 0, 300, 120);     buttonColor.setBounds(50, 130, 90, 25);     buttonFont.setBounds(160, 130, 90, 25);     shell.setSize(300, 190);     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 void init() {   }   public static void main(String[] args) {     new FormattedText();   } }