Formatted Text : Label « SWT JFace Eclipse « Java






Formatted Text

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();
  }
}


           
       








Related examples in the same category

1.First SWT: LabelFirst SWT: Label
2.SWT Label With TextSWT Label With Text
3.Label Highlighting 3Label Highlighting 3
4.Label HighlightingLabel Highlighting
5.Label Highlighting 2Label Highlighting 2
6.CLabel BorderCLabel Border
7.CLabel Gradient Background CLabel Gradient Background
8.Label SeparatorLabel Separator
9.Label WrapLabel Wrap
10.Text and Label demoText and Label demo
11.Demonstrates LabelsDemonstrates Labels
12.Demonstrates CLabel gradientsDemonstrates CLabel gradients
13.Demonstrates CLabel 2Demonstrates CLabel 2
14.Demonstrates CLabelDemonstrates CLabel
15.Create a label (a separator)Create a label (a separator)
16.Create a label (with an image)Create a label (with an image)
17.how to resize the Label when the Shell resizes using a Listener mechanismhow to resize the Label when the Shell resizes using a Listener mechanism
18.How to resize the Label when the Shell resizes using a LayoutHow to resize the Label when the Shell resizes using a Layout