Thứ Hai, 20 tháng 3, 2006

Balloon Tooltip

Như vậy là phiên bản M6 của eclipse sẽ tích hợp Balloon tooltip cho một số widget. Control này được giới thiệu trong Novocode Application Framework với cái tên là BalloonWindow nay đã trực tiếp implement trong SWT. Theo kế hoạch thì bản M6 của Eclipse 3.2 sẽ được release vào 30/3 tới. Dưới đây là đoạn code cài đặt việc sử dụng Balloon Tooltip cho TrayItem được giới thiệu trên EclipseZone.com.

1 nhận xét:

  1. import org.eclipse.swt.*;
    import org.eclipse.swt.graphics.*;
    import org.eclipse.swt.widgets.*;

    public class BalloonTip {
      
      public static void main (String [] args) {
        
        Display display = new Display ();
        
        Shell shell = new Shell (display);
        
        
        final ToolTip tip = new ToolTip(shell, SWT.BALLOON | SWT.ICON_INFORMATION);
        
        tip.setMessage("Visiting Tianyon/RssView.aspx?ChannelID=13 ...");
        
        tip.setText("Crawling tuoitre.com.vn !");
        
        Tray tray = display.getSystemTray();
        
        if (tray != null) {
          TrayItem item = new TrayItem(tray, SWT.NONE);
          
          item.setImage(new Image(display, BalloonTip.class.getResourceAsStream("vsicon.gif")));
          
          item.setToolTip(tip);
          
          final Menu menu = new Menu(shell, SWT.POP_UP);
          
          MenuItem menuItem = new MenuItem(menu, SWT.PUSH);
          
          menuItem.setText("Button A");
          
          menuItem = new MenuItem(menu, SWT.PUSH);
          
          menuItem.setText("Show Tooltip");
          
          menuItem.addListener (SWT.Selection, new Listener () {
            public void handleEvent (Event e) {
              tip.setVisible(true);
            }
          });
          
          item.addListener (SWT.MenuDetect, new Listener () {
            public void handleEvent (Event event) {
              menu.setVisible (true);
            }
          });
        }
        else {
          tip.setLocation(100, 100);
        }
        
        while (!shell.isDisposed ()) {
          if (!display.readAndDispatch ()) display.sleep ();
        }
        display.dispose ();
      }
    }

    Trả lờiXóa

nhudinhthuan@gmail.com