要源代码。就是在SWT里不是只能用静态的图片嘛。可是换成动态的不好使
要怎么写。用什么方法呀!
帮我做个简单的例子。我想看一下!!
谢谢各位大侠了

解决方案 »

  1.   

    呵呵  看看这个 ,自己找个图片改一下 要 是gif的
    1 import org.eclipse.swt.SWT;
     2 import org.eclipse.swt.events.ShellListener;
     3 import org.eclipse.swt.graphics.Image;
     4 import org.eclipse.swt.internal.win32.OS;
     5 import org.eclipse.swt.widgets.Display;
     6 import org.eclipse.swt.widgets.Event;
     7 import org.eclipse.swt.widgets.Listener;
     8 import org.eclipse.swt.widgets.Menu;
     9 import org.eclipse.swt.widgets.MenuItem;
    10 import org.eclipse.swt.widgets.Shell;
    11 import org.eclipse.swt.widgets.Tray;
    12 import org.eclipse.swt.widgets.TrayItem;
    13 
    14 public class MyTray {
    15     public static void main(String[] args) {
    16         Display display = new Display();
    17         Shell shell = new Shell(display);
    20         final int hWnd = shell.handle;
    21         OS.SetWindowLong(hWnd, OS.GWL_EXSTYLE, OS.WS_EX_CAPTIONOKBTN);
    22         Image image = new Image(display, 16, 16);
    23         final Tray tray = display.getSystemTray();
    24         if (tray == null) {
    25             System.out.println("The system tray is not available");
    26         } else {
    27             final TrayItem item = new TrayItem(tray, SWT.NONE);
    28             item.setToolTipText("SWT TrayItem");
    29             item.addListener(SWT.Show, new Listener() {
    30                 public void handleEvent(Event event) {
    31                     System.out.println("show");
    32                 }
    33             });
    34             item.addListener(SWT.Hide, new Listener() {
    35                 public void handleEvent(Event event) {
    36                     System.out.println("hide");
    37                 }
    38             });
    39             item.addListener(SWT.Selection, new Listener() {
    40                 public void handleEvent(Event event) {
    41                     System.out.println("selection");
    42                 }
    43             });
    44             item.addListener(SWT.DefaultSelection, new Listener() {
    45                 public void handleEvent(Event event) {
    46                     System.out.println("default selection");
    47                     // show main
    48                     Shell s = event.display.getShells()[0];
    49                     s.setVisible(true);
    50                     s.setMinimized(false);
    51                 }
    52             });
    53             final Menu menu = new Menu(shell, SWT.POP_UP);
    54             for (int i = 0; i < 8; i++) {
    55                 MenuItem mi = new MenuItem(menu, SWT.PUSH);
    56                 mi.setText("Item" + i);
    57             }
    58             item.addListener(SWT.MenuDetect, new Listener() {
    59                 public void handleEvent(Event event) {
    60                     menu.setVisible(true);
    61                 }
    62             });
    63             item.setImage(image);
    64         }
    65         shell.addShellListener(new ShellListener() {
    66             public void shellDeactivated(org.eclipse.swt.events.ShellEvent e) {
    67             }
    68 
    69             public void shellActivated(org.eclipse.swt.events.ShellEvent e) {
    70             }
    71 
    72             public void shellClosed(org.eclipse.swt.events.ShellEvent e) {
    73             }
    74 
    75             public void shellDeiconified(org.eclipse.swt.events.ShellEvent e) {
    76             }
    77 
    78             public void shellIconified(org.eclipse.swt.events.ShellEvent e) {
    79                 
    81                 ((Shell) e.getSource()).setVisible(false);
    82             }
    83         });
    84         shell.setBounds(50, 50, 300, 200);
    85         shell.open();
    86         while (!shell.isDisposed()) {
    87             if (!display.readAndDispatch())
    88                 display.sleep();
    89         }
    90         image.dispose();
    91         display.dispose();
    92     }
    93 }