我正在开发一个 rcp 应用程序。我正在使用 Novocode swt 气球窗口。我需要在按钮单击时显示一个 BaloonWindow。但是每当我每次单击按钮时都会创建一个新的气球窗口
我的代码如下
public Object execute(ExecutionEvent event) throws ExecutionException {
try {
BalloonWindow baloonWindow=new BalloonWindow(HandlerUtil.getActiveWorkbenchWindow(event).getShell(),SWT.ON_TOP|SWT.TOOL|SWT.CLOSE);
baloonWindow.setText("XYZ");
baloonWindow.setAnchor(SWT.RIGHT|SWT.TOP);
baloonWindow.setLocation(1290, 90);
Composite c = baloonWindow.getContents();
String array[]=new String[2];
array[0]="A";
array[1]="B";
c.setLayout(new FillLayout());
TableViewer t=new TableViewer(c,SWT.NONE);
t.setContentProvider(new ArrayContentProvider());
t.setInput(array);
c.pack(true);
baloonWindow.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
任何人都可以帮助我。如何一次只显示一个气球窗口。如果一个气球窗口是打开的,那么另一个气球窗口不应该被允许打开,或者在任何给定的时间点应该只打开一个气球窗口。