广

Java编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    SWT(JFace)体验之Icon任我变

    2018-11-02 13:12:43 次阅读 稿源:互联网
    零七广告
    代码如下
    代码如下:

    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();
    }
    }

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告