代価如下
ボタンボタンアイコン参照;
ボタン buttonSetIcon;
画像シェルアイコン;
画像ボタンアイコン;
public IconSelector() {
初期化UI();
シェル.パック();
シェル.オープン();
while (!shell.isDissolved()) {
if (!display.readAndDispatch()) {
ディスプレイ.スリープ();
}
}
表示.dispose();
}
private voidInitializeUI() {
GridLayout GridLayout = new GridLayout(3, false);
シェル.setLayout(gridLayout);
labelIconFile = 新しいラベル(シェル、SWT.NULL);
textIconFile = new Text(シェル, SWT.SINGLE | SWT.BORDER);
GridData グリッドデータ = 新しい GridData(GridData.FILL_HORIZONTAL);
GridData.grabExcesshorizontalSpace = true;
textIconFile.setLayoutData(gridData);
buttonIconBrowse = 新しいボタン(シェル, SWT.PUSH);
グリッドデータ = 新しいグリッドデータ();
グリッドデータ.horizontalSpan = 3;
GridData.horizontalAlignment = GridData.CENTER;
buttonSetIcon = 新しいボタン(シェル, SWT.PUSH);
buttonSetIcon.setLayoutData(gridData);
shell.setText("アイコンセレクター");
labelIconFile.setText("アイコンを選択してください:");
buttonIconBrowse.setText("参照");
buttonSetIcon.setText("アイコンを設定");
buttonIconBrowse.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
FileDialog ダイアログ = new FileDialog(shell, SWT.OPEN);
文字列ファイル = Dialog.open();
if (ファイル != null) {
textIconFile.setText(ファイル);
}
}
});
buttonSetIcon.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if(シェルアイコン != null)
シェルアイコン.dispose();
試す {
shellIcon = new Image(display, textIconFile.getText());
シェル.setImage(shellIcon);
}catch(例外例) {
ex.printStackTrace();
}
}
});
}
public static void main(String[] args) {
新しい IconSelector();
}
}