<?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</id>
		<title>Java Tutorial/SWT - История изменений</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"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/SWT&amp;action=history"/>
		<updated>2026-04-21T09:58:23Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/SWT&amp;diff=3223&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&amp;diff=3223&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&amp;diff=3224&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&amp;diff=3224&amp;oldid=prev"/>
				<updated>2010-05-31T15:22:15Z</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;* [[Java Tutorial/SWT/ApplicationWindow | ApplicationWindow]]&lt;br /&gt;
* [[Java Tutorial/SWT/Browser | Browser]]&lt;br /&gt;
* [[Java Tutorial/SWT/BusyIndicator | BusyIndicator]]&lt;br /&gt;
* [[Java Tutorial/SWT/Button | Button]]&lt;br /&gt;
* [[Java Tutorial/SWT/Button Event | Button Event]]&lt;br /&gt;
* [[Java Tutorial/SWT/CLabel | CLabel]]&lt;br /&gt;
* [[Java Tutorial/SWT/CTabFolder | CTabFolder]]&lt;br /&gt;
* [[Java Tutorial/SWT/CTabItem | CTabItem]]&lt;br /&gt;
* [[Java Tutorial/SWT/Canvas | Canvas]]&lt;br /&gt;
* [[Java Tutorial/SWT/Caret | Caret]]&lt;br /&gt;
* [[Java Tutorial/SWT/Clipboard | Clipboard]]&lt;br /&gt;
* [[Java Tutorial/SWT/ColorDialog | ColorDialog]]&lt;br /&gt;
* [[Java Tutorial/SWT/Combo | Combo]]&lt;br /&gt;
* [[Java Tutorial/SWT/Combo Event | Combo Event]]&lt;br /&gt;
* [[Java Tutorial/SWT/CommonDialog | CommonDialog]]&lt;br /&gt;
* [[Java Tutorial/SWT/Composite | Composite]]&lt;br /&gt;
* [[Java Tutorial/SWT/ControlEditor | ControlEditor]]&lt;br /&gt;
* [[Java Tutorial/SWT/CoolBar | CoolBar]]&lt;br /&gt;
* [[Java Tutorial/SWT/CoolItem | CoolItem]]&lt;br /&gt;
* [[Java Tutorial/SWT/Custom Layout | Custom Layout]]&lt;br /&gt;
* [[Java Tutorial/SWT/DateTime | DateTime]]&lt;br /&gt;
* [[Java Tutorial/SWT/Decorations | Decorations]]&lt;br /&gt;
* [[Java Tutorial/SWT/Device | Device]]&lt;br /&gt;
* [[Java Tutorial/SWT/Dialog | Dialog]]&lt;br /&gt;
* [[Java Tutorial/SWT/DirectoryDialog | DirectoryDialog]]&lt;br /&gt;
* [[Java Tutorial/SWT/Display | Display]]&lt;br /&gt;
* [[Java Tutorial/SWT/ExpandBar | ExpandBar]]&lt;br /&gt;
* [[Java Tutorial/SWT/File Tree | File Tree]]&lt;br /&gt;
* [[Java Tutorial/SWT/FileDialog | FileDialog]]&lt;br /&gt;
* [[Java Tutorial/SWT/FillLayout | FillLayout]]&lt;br /&gt;
* [[Java Tutorial/SWT/FocusEvent | FocusEvent]]&lt;br /&gt;
* [[Java Tutorial/SWT/FormLayout | FormLayout]]&lt;br /&gt;
* [[Java Tutorial/SWT/GridData | GridData]]&lt;br /&gt;
* [[Java Tutorial/SWT/GridLayout | GridLayout]]&lt;br /&gt;
* [[Java Tutorial/SWT/Group | Group]]&lt;br /&gt;
* [[Java Tutorial/SWT/ImageRegistry | ImageRegistry]]&lt;br /&gt;
* [[Java Tutorial/SWT/JFace Introduction | JFace Introduction]]&lt;br /&gt;
* [[Java Tutorial/SWT/KeyEvent | KeyEvent]]&lt;br /&gt;
* [[Java Tutorial/SWT/Label | Label]]&lt;br /&gt;
* [[Java Tutorial/SWT/Layout Basics | Layout Basics]]&lt;br /&gt;
* [[Java Tutorial/SWT/Link | Link]]&lt;br /&gt;
* [[Java Tutorial/SWT/List | List]]&lt;br /&gt;
* [[Java Tutorial/SWT/List Event | List Event]]&lt;br /&gt;
* [[Java Tutorial/SWT/Menu | Menu]]&lt;br /&gt;
* [[Java Tutorial/SWT/MenuEvent | MenuEvent]]&lt;br /&gt;
* [[Java Tutorial/SWT/MenuItem | MenuItem]]&lt;br /&gt;
* [[Java Tutorial/SWT/MenuItem Event | MenuItem Event]]&lt;br /&gt;
* [[Java Tutorial/SWT/MessageBox | MessageBox]]&lt;br /&gt;
* [[Java Tutorial/SWT/MouseEvent | MouseEvent]]&lt;br /&gt;
* [[Java Tutorial/SWT/PasswordField | PasswordField]]&lt;br /&gt;
* [[Java Tutorial/SWT/PopupList | PopupList]]&lt;br /&gt;
* [[Java Tutorial/SWT/PopupMenu | PopupMenu]]&lt;br /&gt;
* [[Java Tutorial/SWT/Print | Print]]&lt;br /&gt;
* [[Java Tutorial/SWT/PrintDialog | PrintDialog]]&lt;br /&gt;
* [[Java Tutorial/SWT/PrinterData | PrinterData]]&lt;br /&gt;
* [[Java Tutorial/SWT/Program | Program]]&lt;br /&gt;
* [[Java Tutorial/SWT/ProgressBar | ProgressBar]]&lt;br /&gt;
* [[Java Tutorial/SWT/RowLayout | RowLayout]]&lt;br /&gt;
* [[Java Tutorial/SWT/SWT AWT Swing | SWT AWT Swing]]&lt;br /&gt;
* [[Java Tutorial/SWT/SWT Basics | SWT Basics]]&lt;br /&gt;
* [[Java Tutorial/SWT/SWT Color | SWT Color]]&lt;br /&gt;
* [[Java Tutorial/SWT/SWT Cursor | SWT Cursor]]&lt;br /&gt;
* [[Java Tutorial/SWT/SWT Drag Drop | SWT Drag Drop]]&lt;br /&gt;
* [[Java Tutorial/SWT/SWT Event | SWT Event]]&lt;br /&gt;
* [[Java Tutorial/SWT/SWT Image | SWT Image]]&lt;br /&gt;
* [[Java Tutorial/SWT/SWT NO Layout | SWT NO Layout]]&lt;br /&gt;
* [[Java Tutorial/SWT/SWT Thread | SWT Thread]]&lt;br /&gt;
* [[Java Tutorial/SWT/SWT Timer | SWT Timer]]&lt;br /&gt;
* [[Java Tutorial/SWT/Sash | Sash]]&lt;br /&gt;
* [[Java Tutorial/SWT/Sash Event | Sash Event]]&lt;br /&gt;
* [[Java Tutorial/SWT/SashForm | SashForm]]&lt;br /&gt;
* [[Java Tutorial/SWT/Scale | Scale]]&lt;br /&gt;
* [[Java Tutorial/SWT/Screen Capture | Screen Capture]]&lt;br /&gt;
* [[Java Tutorial/SWT/ScrollBar | ScrollBar]]&lt;br /&gt;
* [[Java Tutorial/SWT/ScrollBar Event | ScrollBar Event]]&lt;br /&gt;
* [[Java Tutorial/SWT/ScrolledComposite | ScrolledComposite]]&lt;br /&gt;
* [[Java Tutorial/SWT/Separator | Separator]]&lt;br /&gt;
* [[Java Tutorial/SWT/Shell | Shell]]&lt;br /&gt;
* [[Java Tutorial/SWT/Shell Event | Shell Event]]&lt;br /&gt;
* [[Java Tutorial/SWT/Slider | Slider]]&lt;br /&gt;
* [[Java Tutorial/SWT/Slider Event | Slider Event]]&lt;br /&gt;
* [[Java Tutorial/SWT/Spinner | Spinner]]&lt;br /&gt;
* [[Java Tutorial/SWT/Spinner Event | Spinner Event]]&lt;br /&gt;
* [[Java Tutorial/SWT/Splash Screen | Splash Screen]]&lt;br /&gt;
* [[Java Tutorial/SWT/StackLayout | StackLayout]]&lt;br /&gt;
* [[Java Tutorial/SWT/StyledText | StyledText]]&lt;br /&gt;
* [[Java Tutorial/SWT/StyledText Action | StyledText Action]]&lt;br /&gt;
* [[Java Tutorial/SWT/StyledText Event | StyledText Event]]&lt;br /&gt;
* [[Java Tutorial/SWT/StyledText Format | StyledText Format]]&lt;br /&gt;
* [[Java Tutorial/SWT/StyledText LineStyle | StyledText LineStyle]]&lt;br /&gt;
* [[Java Tutorial/SWT/StyledText Style | StyledText Style]]&lt;br /&gt;
* [[Java Tutorial/SWT/System Tray | System Tray]]&lt;br /&gt;
* [[Java Tutorial/SWT/TabFolder | TabFolder]]&lt;br /&gt;
* [[Java Tutorial/SWT/TabItem | TabItem]]&lt;br /&gt;
* [[Java Tutorial/SWT/TabSequence | TabSequence]]&lt;br /&gt;
* [[Java Tutorial/SWT/Table | Table]]&lt;br /&gt;
* [[Java Tutorial/SWT/Table Cursor | Table Cursor]]&lt;br /&gt;
* [[Java Tutorial/SWT/Table Editor | Table Editor]]&lt;br /&gt;
* [[Java Tutorial/SWT/Table Event | Table Event]]&lt;br /&gt;
* [[Java Tutorial/SWT/Table Renderer | Table Renderer]]&lt;br /&gt;
* [[Java Tutorial/SWT/Table Sort | Table Sort]]&lt;br /&gt;
* [[Java Tutorial/SWT/TableColumn | TableColumn]]&lt;br /&gt;
* [[Java Tutorial/SWT/TableItem | TableItem]]&lt;br /&gt;
* [[Java Tutorial/SWT/Text | Text]]&lt;br /&gt;
* [[Java Tutorial/SWT/Text Event | Text Event]]&lt;br /&gt;
* [[Java Tutorial/SWT/TextLayout | TextLayout]]&lt;br /&gt;
* [[Java Tutorial/SWT/ToolBar | ToolBar]]&lt;br /&gt;
* [[Java Tutorial/SWT/ToolItem | ToolItem]]&lt;br /&gt;
* [[Java Tutorial/SWT/ToolTip | ToolTip]]&lt;br /&gt;
* [[Java Tutorial/SWT/Tooltip Balloon | Tooltip Balloon]]&lt;br /&gt;
* [[Java Tutorial/SWT/Tracker | Tracker]]&lt;br /&gt;
* [[Java Tutorial/SWT/Tree | Tree]]&lt;br /&gt;
* [[Java Tutorial/SWT/Tree Editor | Tree Editor]]&lt;br /&gt;
* [[Java Tutorial/SWT/Tree Event | Tree Event]]&lt;br /&gt;
* [[Java Tutorial/SWT/TreeColumn TreeTable | TreeColumn TreeTable]]&lt;br /&gt;
* [[Java Tutorial/SWT/TreeItem | TreeItem]]&lt;br /&gt;
* [[Java Tutorial/SWT/TreeViewer | TreeViewer]]&lt;br /&gt;
* [[Java Tutorial/SWT/UI Auto | UI Auto]]&lt;br /&gt;
* [[Java Tutorial/SWT/ViewForm | ViewForm]]&lt;br /&gt;
* [[Java Tutorial/SWT/WIN32 | WIN32]]&lt;br /&gt;
* [[Java Tutorial/SWT/Widget | Widget]]&lt;br /&gt;
* [[Java Tutorial/SWT/WindowManagers | WindowManagers]]&lt;br /&gt;
&lt;br /&gt;
== 17. Choosing a Font ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;SWT provides the FontDialog class to display the common font selection dialog. &lt;br /&gt;
FontDialog&amp;quot;s open() method returns a FontData object (or null if the user cancels the dialog), which you can use to create a Font.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;SWT uses two classes to represent fonts:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;Font represents the onscreen font, and&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Font objects represent operating system resources, and you must dispose any you create.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;FontData represents the data used to construct the onscreen font.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;FontData objects contain only data, and aren&amp;quot;t operating system resources, so they aren&amp;quot;t disposed.&amp;lt;/LI&amp;gt;&amp;lt;/OL&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.graphics.Font;&lt;br /&gt;
import org.eclipse.swt.graphics.FontData;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.FontDialog;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
public class FontSelectionDialogDisplay {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Display display = new Display();&lt;br /&gt;
    final Shell shell = new Shell(display);&lt;br /&gt;
    FontDialog dlg = new FontDialog(shell);&lt;br /&gt;
    FontData fontData = dlg.open();&lt;br /&gt;
    if (fontData != null) {&lt;br /&gt;
      Font font = new Font(shell.getDisplay(), fontData);&lt;br /&gt;
      font.dispose();&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;Caution: Don&amp;quot;t dispose a font while your application is still using it.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 17. Construct a FontData object ==&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.events.PaintEvent;&lt;br /&gt;
import org.eclipse.swt.events.PaintListener;&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.Canvas;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
public class FontDataConstruct {&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;
    shell.setText(&amp;quot;Canvas Example&amp;quot;);&lt;br /&gt;
    shell.setLayout(new FillLayout());&lt;br /&gt;
    Canvas canvas = new Canvas(shell, SWT.NONE);&lt;br /&gt;
    canvas.addPaintListener(new PaintListener() {&lt;br /&gt;
      public void paintControl(PaintEvent e) {&lt;br /&gt;
        &lt;br /&gt;
        Font font = new Font(shell.getDisplay(), new FontData(&amp;quot;Helvetica&amp;quot;, 18, SWT.NORMAL));&lt;br /&gt;
        e.gc.setFont(font);&lt;br /&gt;
        e.gc.drawText(&amp;quot;My Text&amp;quot;, 0, 0);&lt;br /&gt;
        font.dispose();&lt;br /&gt;
      }&lt;br /&gt;
    });&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;
==  Create Larger Font ==&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.graphics.Font;&lt;br /&gt;
import org.eclipse.swt.graphics.FontData;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
import org.eclipse.swt.widgets.Text;&lt;br /&gt;
public class FontLargerCreate {&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;
    Text text = new Text(shell, SWT.MULTI|SWT.BORDER);&lt;br /&gt;
    text.setBounds(10, 10, 150, 150);&lt;br /&gt;
    Font initialFont = text.getFont();&lt;br /&gt;
    FontData[] fontData = initialFont.getFontData();&lt;br /&gt;
    for (int i = 0; i &amp;lt; fontData.length; i++) {&lt;br /&gt;
      fontData[i].setHeight(24);&lt;br /&gt;
    }&lt;br /&gt;
    Font newFont = new Font(display, fontData);&lt;br /&gt;
    text.setFont(newFont);&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;
    newFont.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;
== 17. To use the font selection dialog to change both the font and the color of a label ==&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.events.SelectionAdapter;&lt;br /&gt;
import org.eclipse.swt.events.SelectionEvent;&lt;br /&gt;
import org.eclipse.swt.graphics.Color;&lt;br /&gt;
import org.eclipse.swt.graphics.Font;&lt;br /&gt;
import org.eclipse.swt.layout.GridLayout;&lt;br /&gt;
import org.eclipse.swt.widgets.Button;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.FontDialog;&lt;br /&gt;
import org.eclipse.swt.widgets.Label;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
public class FontDialogColorFontData {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Display display = new Display();&lt;br /&gt;
    final Shell shell = new Shell(display);&lt;br /&gt;
    shell.setText(&amp;quot;Font Chooser&amp;quot;);&lt;br /&gt;
    shell.setLayout(new GridLayout(2, false));&lt;br /&gt;
    final Label fontLabel = new Label(shell, SWT.NONE);&lt;br /&gt;
    fontLabel.setText(&amp;quot;The selected font&amp;quot;);&lt;br /&gt;
    Button button = new Button(shell, SWT.PUSH);&lt;br /&gt;
    button.setText(&amp;quot;Font...&amp;quot;);&lt;br /&gt;
    button.addSelectionListener(new SelectionAdapter() {&lt;br /&gt;
      public void widgetSelected(SelectionEvent event) {&lt;br /&gt;
        Font font = null;&lt;br /&gt;
        Color color = null;&lt;br /&gt;
        FontDialog dlg = new FontDialog(shell);&lt;br /&gt;
        if (font != null)&lt;br /&gt;
          dlg.setFontList(fontLabel.getFont().getFontData());&lt;br /&gt;
        if (color != null)&lt;br /&gt;
          dlg.setRGB(color.getRGB());&lt;br /&gt;
        if (dlg.open() != null) {&lt;br /&gt;
          if (font != null)&lt;br /&gt;
            font.dispose();&lt;br /&gt;
          if (color != null)&lt;br /&gt;
            color.dispose();&lt;br /&gt;
          font = new Font(shell.getDisplay(), dlg.getFontList());&lt;br /&gt;
          fontLabel.setFont(font);&lt;br /&gt;
          color = new Color(shell.getDisplay(), dlg.getRGB());&lt;br /&gt;
          fontLabel.setForeground(color);&lt;br /&gt;
          shell.pack();&lt;br /&gt;
          if (font != null)&lt;br /&gt;
            font.dispose();&lt;br /&gt;
          if (color != null)&lt;br /&gt;
            color.dispose();&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    });&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;
    }&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;
== 17. Using the FontRegistry ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;FontData class is a lightweight class describing system fonts.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;A FontData to a Font is analogous to an ImageDescriptor to an Image.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;A FontData class describes the following properties of a Font:&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;name&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;height&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;style: combination of SWT.NORMAL, SWT.ITALIC, and SWT.BOLD&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The Font itself is resource-based, i.e., if you create it, you must dispose of it. &lt;br /&gt;
You can use FontRegistry to manage allocation and disposal of the fonts.&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.jface.resource.FontRegistry;&lt;br /&gt;
import org.eclipse.swt.SWT;&lt;br /&gt;
import org.eclipse.swt.graphics.FontData;&lt;br /&gt;
import org.eclipse.swt.layout.GridData;&lt;br /&gt;
import org.eclipse.swt.layout.GridLayout;&lt;br /&gt;
import org.eclipse.swt.widgets.Button;&lt;br /&gt;
import org.eclipse.swt.widgets.Display;&lt;br /&gt;
import org.eclipse.swt.widgets.Shell;&lt;br /&gt;
import org.eclipse.swt.widgets.Text;&lt;br /&gt;
public class FontRegistry {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Display display = new Display();&lt;br /&gt;
    Shell shell = new Shell();&lt;br /&gt;
    shell.setLayout(new GridLayout(1, false));&lt;br /&gt;
    FontRegistry fontRegistry = new FontRegistry(display);&lt;br /&gt;
    fontRegistry.put(&amp;quot;button-text&amp;quot;, new FontData[] { new FontData(&amp;quot;Arial&amp;quot;, 9, SWT.BOLD) });&lt;br /&gt;
    fontRegistry.put(&amp;quot;code&amp;quot;, new FontData[] { new FontData(&amp;quot;Courier New&amp;quot;, 10, SWT.NORMAL) });&lt;br /&gt;
    Text text = new Text(shell, SWT.MULTI | SWT.BORDER | SWT.WRAP);&lt;br /&gt;
    text.setFont(fontRegistry.get(&amp;quot;code&amp;quot;));&lt;br /&gt;
    text.setForeground(display.getSystemColor(SWT.COLOR_BLUE));&lt;br /&gt;
    text.setText(&amp;quot;&amp;quot;);&lt;br /&gt;
    GridData gd = new GridData(GridData.FILL_BOTH);&lt;br /&gt;
    gd.horizontalSpan = 2;&lt;br /&gt;
    text.setLayoutData(gd);&lt;br /&gt;
    Button executeButton = new Button(shell, SWT.PUSH);&lt;br /&gt;
    executeButton.setText(&amp;quot;Execute&amp;quot;);&lt;br /&gt;
    executeButton.setFont(fontRegistry.get(&amp;quot;button-text&amp;quot;));&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;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>