代码如下
Bouton boutonIcôneParcourir ;
Bouton boutonSetIcon ;
Image shellIcône ;
Icône du bouton Image ;
public IconSelector() {
initializeUI();
shell.pack();
shell.open();
tandis que (!shell.isDisposed()) {
si (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
privé vide initializeUI() {
GridLayout gridLayout = new GridLayout(3, false);
shell.setLayout(gridLayout);
labelIconFile = new Label(shell, SWT.NULL);
textIconFile = new Text(shell, SWT.SINGLE | SWT.BORDER);
GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
gridData.grabExcessHorizontalSpace = true ;
textIconFile.setLayoutData(gridData);
boutonIconBrowse = nouveau bouton (shell, SWT.PUSH);
GridData = new GridData();
gridData.horizontalSpan = 3 ;
gridData.horizontalAlignment = GridData.CENTER;
boutonSetIcon = nouveau bouton (shell, SWT.PUSH);
boutonSetIcon.setLayoutData(gridData);
shell.setText("Sélecteur d'icônes");
labelIconFile.setText("Sélectionnez une icône :");
boutonIconBrowse.setText("Parcourir");
buttonSetIcon.setText("Définir l'icône");
buttonIconBrowse.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
Boîte de dialogue FileDialog = new FileDialog(shell, SWT.OPEN);
Fichier de chaîne = dialog.open();
si (fichier != null) {
textIconFile.setText(fichier);
}
}
});
buttonSetIcon.addSelectionListener(nouveau SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
si(shellIcon != null)
shellIcon.dispose();
essayer {
shellIcon = new Image(display, textIconFile.getText());
shell.setImage(shellIcon);
}catch(Exception ex) {
ex.printStackTrace();
}
}
});
}
public static void main (String[] arguments) {
nouveau IconSelector();
}
}