JAVA实现气泡提示框
目录
JAVA实现气泡提示框
下面还存在一些问题.
作为timer对象与程序关闭不同步.即当程序关闭时,timer对象还在运行.应增加响应关闭事件,在里面注销timer.
package cn.contorl;
import java.util.Timer;
import java.util.TimerTask;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.ToolTip;
import org.eclipse.swt.widgets.Tray;
import org.eclipse.swt.widgets.TrayItem;
public class ToolTipTest {
public static void main(String[] args) {
final Display display = Display.getDefault();
Shell shell = new Shell(display);
shell.open();
/** 得到系统托盘 */
final Tray tray = Display.getCurrent().getSystemTray();
/** 計時器 */
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
/** 程序異步訪問swt對象 */
display.asyncExec(new Runnable() {
@Override
public void run() {
ToolTip tip = new ToolTip(display.getActiveShell(),
SWT.BALLOON | SWT.ICON_INFORMATION);
tip.setAutoHide(true);
tip.setMessage("欢迎访问http://www.csdn.net/sunquan291");
tip.setText("欢迎使用");
TrayItem item = new TrayItem(tray, SWT.None);
item.setToolTip(tip);
tip.setVisible(true);
}
});
}
}, 0, 3000);
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
timer.cancel();
}
}
}
}