Je développe une application rcp. J'utilise une fenêtre de swt-up Novocode. Je dois afficher un BaloonWindow sur le bouton click.but chaque fois que je clique sur le bouton à chaque fois créer une nouvelle fenêtre de ballonAfficher un seul Shell si le shell, s'il était précédemment ouvert, n'affiche pas un autre shell
Mon code est ci-dessous
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;
}
tout le monde peut aider me.how à montrer une seule fenêtre de ballon Si une fenêtre de ballon est ouverte, alors une autre fenêtre de ballon ne devrait pas être autorisée à s'ouvrir ou il ne devrait rester qu'une seule fenêtre de ballon ouverte à un moment donné.
Je ne sais rien de la technologie que vous utilisez, mais je vois dans votre code que vous ne cachez aucune fenêtre "baloon" précédente lorsque vous en créez une nouvelle. – atas
c'est ce que je veux faire. Je n'ai qu'un seul ballon. à chaque clic sur un bouton, un nouveau ballon est ouvert, il crée donc une pile de bulles. Je n'ai trouvé aucune méthode pour masquer le ballon, par exemple 'hideBalloon()' – Abhit
Quelque chose comme "setVisible (false)" peut-être? – atas