代码如下
버튼 버튼아이콘찾아보기;
버튼 버튼SetIcon;
이미지 shellIcon;
이미지 버튼아이콘;
공개 IconSelector() {
초기화UI();
shell.pack();
shell.open();
동안 (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
디스플레이.수면();
}
}
디스플레이.dispose();
}
개인 무효 초기화UI() {
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.horizontalSpan = 3;
GridData.horizontalAlignment = GridData.CENTER;
ButtonSetIcon = new Button(shell, SWT.PUSH);
버튼SetIcon.setLayoutData(gridData);
shell.setText("아이콘 선택기");
labelIconFile.setText("아이콘을 선택하세요:");
ButtonIconBrowse.setText("찾아보기");
ButtonSetIcon.setText("아이콘 설정");
버튼IconBrowse.addSelectionListener(새 SelectionAdapter() {
공개 무효 widgetSelected(SelectionEvent e) {
FileDialog 대화상자 = new FileDialog(shell, SWT.OPEN);
문자열 파일 = 대화상자.open();
if (파일 != null) {
textIconFile.setText(파일);
}
}
});
버튼SetIcon.addSelectionListener(새 SelectionAdapter() {
공개 무효 widgetSelected(SelectionEvent e) {
if(쉘아이콘 != null)
shellIcon.dispose();
노력하다 {
shellIcon = new Image(display, textIconFile.getText());
shell.setImage(shellIcon);
}catch(예외 예) {
ex.printStackTrace();
}
}
});
}
공개 정적 무효 메인(String[] args) {
새로운 아이콘선택기();
}
}