Comment puis-je créer un lien hypertexte dans une boîte de dialogue JFace qui, une fois cliqué, ouvre le lien dans le navigateur Web par défaut. Un exemple complet serait utile. Je sais qu'il existe un paquet org.eclipse.jface.text.hyperlink
mais je ne trouve pas d'exemple approprié.Comment puis-je ajouter un lien hypertexte à une boîte de dialogue JFace
12
A
Répondre
20
Exécutez-vous une application RCP?
Si oui, alors le code suivant ouvrira votre lien dans le navigateur OS par défaut:
// 'parent' is assumed to be an SWT composite
Link link = new Link(parent, SWT.NONE);
String message = "This is a link to <a href=\"www.google.com\">Google</a>";
link.setText(message);
link.setSize(400, 100);
link.addSelectionListener(new SelectionAdapter(){
@Override
public void widgetSelected(SelectionEvent e) {
System.out.println("You have selected: "+e.text);
try {
// Open default external browser
PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser().openURL(new URL(e.text));
}
catch (PartInitException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
}
catch (MalformedURLException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
}
}
});
Ce qui précède suppose que vous ne voulez pas analyser le texte existant pour les liens hypertexte, mais souhaitez simplement créer un programme. Si le premier est requis, vous devrez utiliser l'API des paquets de texte JFace ou similaire.
Quelle est la partie qui nécessite RCP? Le 'PlatformUI.getWorkbench() ...'? – Mot
parfait! oui j'en avais besoin pour une application RCP donc cela a bien fait l'affaire :) – Alb
mklhmm: Oui, l'appel PlatformUI.getWorkbench() nécessite le paquet org.eclipse.ui qui fait partie du SDK RCP. Je suis content que cela ait marché pour vous Alb. – tbone