SWT(JFace)体验之Icon任我变
2009-06-23 14:09
120 查看
代码如下:
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(); } }
相关文章推荐
- SWT(JFace)体验之多线程问题
- SWT(JFace)体验之圆环状(戒指型)
- SWT(JFace)体验之List演示汇总
- SWT(JFace)体验之ProgressBar
- SWT(JFace)体验之RowLayout布局
- SWT(JFace)体验之图片的动态渐变效果
- SWT(JFace)体验之快捷键设定
- SWT(JFace)体验之打开多个Form
- SWT(JFace)体验之StyledText类
- SWT(JFace)体验之Slider,Scale
- SWT(JFace)体验之GridLayout布局
- SWT(JFace)体验之syncExec与asyncExec
- SWT(JFace)体验之模拟BorderLayout布局
- SWT(JFace)体验之Menu、Bar...
- SWT(JFace)体验之Group(分组显示)
- SWT(JFace)体验之复制粘贴