如何将一个窗体以对话框模式显示?如何设置不允许最大最小按钮(我设置过了,不管用,为什么?shell.setMinimized(false);
shell.setMaximized(false);)

解决方案 »

  1.   

    自己解决了。散分
    在SWT的API中找到了代码
    public class MyDialog extends Dialog {
    Object result;

    public MyDialog (Shell parent, int style) {
    super (parent, style);
    }
    public MyDialog (Shell parent) {
    this (parent, 0); // your default style bits go here (not the Shell's style bits)
    }
    public Object open () {
    Shell parent = getParent();
    Shell shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
    shell.setText(getText());
    // Your code goes here (widget creation, set result, etc).
    shell.open();
    Display display = parent.getDisplay();
    while (!shell.isDisposed()) {
    if (!display.readAndDispatch()) display.sleep();
    }
    return result;
    }
     }
      

  2.   

    Shell shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
    中的SWT.DIALOG_TRIM。选择这个风格后就是没有最大最小按钮了,这个不是对话框效果,
    SWT.APPLICATION_MODAL是对话框与程序关联,这个才是对话框效果
      

  3.   

    ciahi(爪哇乞丐) ( ) 信誉:100 
    我做的是程序参数设置对话框,需要自定义的,在自定义对话框中用TabFolder分页对程序参数设置。。谢谢大家跟帖啊。周一结贴
      

  4.   

    哦哦,多谢楼主!
    我刚也找到相关资料了,shell的最大化最小化、能否改变大小等特征在SWT里被称为Style,可以在shell的构造函数里定义,我只想禁止最大化的话,只要这样就可以了:
    Shell shell = new Shell(SWT.MIN | SWT.CLOSE);
    对话框模式显示是SWT.SYSTEM_MODAL还是SWT.APPLICATION_MODAL啊?