代码如下
ปุ่ม ปุ่มไอคอน เรียกดู;
ปุ่ม ปุ่มSetIcon;
รูปภาพเชลล์ไอคอน;
ปุ่มรูปภาพไอคอน;
IconSelector สาธารณะ () {
เริ่มต้น UI();
เชลล์.แพ็ค();
เชลล์.เปิด();
ในขณะที่ (!shell.isDisposed()) {
ถ้า (!display.readAndDispatch()) {
display.sleep();
-
-
display.ทิ้ง();
-
โมฆะส่วนตัวเริ่มต้น UI () {
GridLayout gridLayout = GridLayout ใหม่ (3, เท็จ);
เปลือก.setLayout(gridLayout);
labelIconFile = ป้ายกำกับใหม่ (เชลล์, SWT.NULL);
textIconFile = ข้อความใหม่ (เชลล์, SWT.SINGLE | SWT.BORDER);
GridData gridData = GridData ใหม่ (GridData.FILL_HORIZONTAL);
gridData.grabExcessHorizontalSpace = จริง;
textIconFile.setLayoutData(gridData);
buttonIconBrowse = ปุ่มใหม่ (เชลล์, SWT.PUSH);
gridData = GridData ใหม่ ();
gridData.horizontalSpan = 3;
gridData.horizontalAlignment = GridData.CENTER;
buttonSetIcon = ปุ่มใหม่ (เชลล์, SWT.PUSH);
buttonSetIcon.setLayoutData(gridData);
shell.setText("ตัวเลือกไอคอน");
labelIconFile.setText("เลือกไอคอน:");
buttonIconBrowse.setText("เรียกดู");
buttonSetIcon.setText("ตั้งค่าไอคอน");
buttonIconBrowse.addSelectionListener (SelectionAdapter ใหม่ () {
โมฆะสาธารณะ widgetSelected (SelectionEvent e) {
กล่องโต้ตอบ FileDialog = FileDialog ใหม่ (เชลล์, SWT.OPEN);
ไฟล์สตริง = Dialog.open();
ถ้า (ไฟล์ != null) {
textIconFile.setText(ไฟล์);
-
-
-
buttonSetIcon.addSelectionListener (SelectionAdapter ใหม่ () {
โมฆะสาธารณะ widgetSelected (SelectionEvent e) {
ถ้า (shellIcon != null)
เชลล์ไอคอน.ทิ้ง();
พยายาม {
shellIcon = รูปภาพใหม่ (แสดง, textIconFile.getText());
เปลือก. setImage (shellIcon);
} จับ (ข้อยกเว้นเช่น) {
เช่น printStackTrace();
-
-
-
-
โมฆะคงที่สาธารณะ main (String [] args) {
ใหม่ IconSelector();
-
-