代码如下
Botón botónIconoBuscar;
Botón botónEstablecerIcono;
Imagen shellIcon;
Icono de botón de imagen;
Selector de iconos público() {
inicializar UI();
shell.paquete();
shell.open();
mientras (!shell.isDisposed()) {
si (!display.readAndDispatch()) {
mostrar.dormir();
}
}
mostrar.dispose();
}
inicialización vacía privada () {
GridLayout gridLayout = nuevo GridLayout(3, falso);
shell.setLayout(gridLayout);
labelIconFile = nueva etiqueta(shell, SWT.NULL);
textIconFile = nuevo Texto(shell, SWT.SINGLE | SWT.BORDER);
GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
gridData.grabExcessHorizontalSpace = verdadero;
textIconFile.setLayoutData(gridData);
buttonIconBrowse = nuevo Botón(shell, SWT.PUSH);
gridData = nuevo GridData();
gridData.horizontalSpan = 3;
gridData.horizontalAlignment = GridData.CENTER;
buttonSetIcon = nuevo Botón(shell, SWT.PUSH);
botónSetIcon.setLayoutData(gridData);
shell.setText("Selector de iconos");
labelIconFile.setText("Seleccione un icono:");
buttonIconBrowse.setText("Examinar");
buttonSetIcon.setText("Establecer icono");
buttonIconBrowse.addSelectionListener(nuevo SelectionAdapter() {
widget vacío públicoSelected (SelectionEvent e) {
Diálogo FileDialog = nuevo FileDialog (shell, SWT.OPEN);
Archivo de cadena = dialog.open();
si (archivo! = nulo) {
textIconFile.setText(archivo);
}
}
});
buttonSetIcon.addSelectionListener(nuevo SelectionAdapter() {
widget vacío públicoSelected (SelectionEvent e) {
si (shellIcon! = nulo)
shellIcon.dispose();
intentar {
shellIcon = nueva Imagen(pantalla, textIconFile.getText());
shell.setImage(shellIcon);
}catch(Excepción ex) {
ex.printStackTrace();
}
}
});
}
público estático vacío principal (String [] argumentos) {
nuevoSelectordeiconos();
}
}