【 tulaoshi.com - 编程语言 】
                             
                            代码如下
代码如下:
package swt_jface.demo; 
import org.eclipse.swt.SWT; 
import org.eclipse.swt.events.SelectionAdapter; 
import org.eclipse.swt.events.SelectionEvent; 
import org.eclipse.swt.graphics.Image; 
import org.eclipse.swt.layout.GridData; 
import org.eclipse.swt.layout.GridLayout; 
import org.eclipse.swt.widgets.Button; 
import org.eclipse.swt.widgets.Display; 
import org.eclipse.swt.widgets.FileDialog; 
import org.eclipse.swt.widgets.Label; 
import org.eclipse.swt.widgets.Shell; 
import org.eclipse.swt.widgets.Text; 
public class IconSelector { 
Display display = new Display(); 
Shell shell = new Shell(display); 
Label labelIconFile; 
Text textIconFile; 
Button buttonIconBrowse; 
Button buttonSetIcon; 
Image shellIcon; 
Image buttonIcon; 
public IconSelector() { 
initializeUI(); 
shell.pack(); 
shell.open(); 
while (!shell.isDisposed()) { 
if (!display.readAndDispatch()) { 
display.sleep(); 
} 
} 
display.dispose(); 
} 
private void 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); 
buttonIconBrowse = new Button(shell, SWT.PUSH); 
gridData = new GridData(); 
gridData.horizontalSpan = 3; 
gridData.horizontalAlignment = GridData.CENTER; 
buttonSetIcon = new Button(shell, SWT.PUSH); 
buttonSetIcon.setLayoutData(gridData); 
shell.setText("Icon Selector"); 
labelIconFile.setText("Select an icon:"); 
buttonIconBrowse.setText("Browse"); 
buttonSetIcon.setText("Set Icon"); 
buttonIconBrowse.addSelectionListener(new SelectionAdapter() { 
public void widgetSelected(SelectionEvent e) { 
FileDialog dialog = new FileDialog(shell, SWT.OPEN); 
String file = dialog.open(); 
if (file != null) { 
textIconFile.setText(file); 
} 
} 
}); 
buttonSetIcon.addSelectionListener(new SelectionAdapter() { 
public void widgetSelected(SelectionEvent e) { 
if(shellIcon != null) 
shellIcon.dispose(); 
try { 
shellIcon = new Image(display, textIconFile.getText()); 
shell.setImage(shellIcon); 
}catch(Exception ex) { 
ex.printStackTrace(); 
} 
} 
}); 
} 
public static void main(String[] args) { 
new IconSelector(); 
} 
}