Preferences-->Input Method Enable input method feature Input Method Preferences Inout Method 转载于:htt"> JFace中Dialog类的使用方法 - 11GX
首页 > JFace中Dialog类的使用方法

JFace中Dialog类的使用方法

Preferences-->Input Method Enable input method feature Input Method Preferences Inout Method 转载于:htt

-->

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

cyper的例子:

注意dialog.open()返回Dialog.OK而不是SWT.OK

窗体代码:

public class ChooseIntegerDialog extends Dialog {private String[] possibleIntegerFields;/*** checkedIntegerFields is fields separated with comma*/private String checkedIntegerFields;private List
使用代码:
    String[] possibleIntegerFields = REUtil.getREGroupSet(content, "([_a-zA-Z0-9]+)\s*(?:=|<>|!=)\s*'[0-9]+'");String checkedIntegerFields = null;ChooseIntegerDialog integerDialog = new ChooseIntegerDialog(sw.getShell(), possibleIntegerFields);if (integerDialog.open() == Dialog.OK) {checkedIntegerFields = integerDialog.getCheckedIntegerFields();}else{return;}

以下是转载部分

近期的工作需要一个模态化的对话框,发现JFace中的Dialog正好符合我的要求,并且可以定制的方面也不少,使用起来很方便。下面是一些常用方法,因此在这里记录下来。

 

①设置标题栏名称

protected void configureShell(Shell newShell) {  // TODO Auto-generated method stub  super.configureShell(newShell);  newShell.setText("Hello!");  
}


 

②设置窗体大小

protected Point getInitialSize() {  // TODO Auto-generated method stub  return new Point(300,400);  
}

③取消自带的OK、Cancel按钮

@Override  protected void createButtonsForButtonBar(Composite parent) {  // TODO Auto-generated method stub  }

④定义对话框上我们需要的控件

@Override      protected Control createDialogArea(Composite parent) {      // TODO Auto-generated method stub      Composite container = new Composite(parent, SWT.NONE);      container.setBounds(0, 0, 300, 400);      Button btn = new Button(container, SWT.NONE);      btn.setBounds(10, 10, 55, 20);      btn.setText("Click!");      // 实现自带“取消”按钮的功能  btn.addSelectionListener(new SelectionAdapter(){  @Override  public void widgetSelected(SelectionEvent e) {  // TODO Auto-generated method stub  setReturnCode(CANCEL);  close();  }  });  return container;      }


⑤居中对齐

      这个最简单了,在创建Dialog的时候指定父窗口shell就可以了!

 

⑥更改Shell样式

@Override  protected void setShellStyle(int newShellStyle) {  // TODO Auto-generated method stub  // 取消关闭“X”按钮  super.setShellStyle(newShellStyle ^ SWT.CLOSE);  }

⑦自定义关闭事件

@Override  
public boolean close() {  // TODO Auto-generated method stub  super.close();  // do something  return true;  
}



转载于:https://my.oschina.net/uniquejava/blog/90850

更多相关:

  • 菜鸟一枚,正在学习C++ Gui Qt4,整理很零碎,欢迎批评指正   1.窗口标题: QWidget *window = new QWidget; window->setWindowTitle("Enter Your Age"); **************************************** 关于标题...

  • 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 总体思路是: 比较两个链表头节点,较小的插入新链表指针之后,同时较小链表指针向后移动一位 实现如下: ListNode* mergeTwo...

  • 1.直接调用微软socket对象处理 static void Main(string[] args){try{IPAddress ip = new IPAddress(new byte[] { 127, 0, 0, 1 });//在3721端口新建一个TcpListener对象TcpListener listener = new...

  •   现在很多地方都会用到zookeeper, 用到它的地方就是为了实现分布式。用到的场景就是服务注册,比如一个集群服务器,需要知道哪些服务器在线,哪些服务器不在线。   ZK有一个功能,就是创建临时节点,当机器启动应用的时候就会连接到一个ZK节点,然后创建一个临时节点,那么通过获取监听该路径,并且获取该路径下的节点数量就知道有哪些服务...

  • 前台到后台java时data日期类型的转化 在实体类中用@DataTimeFormat,这样设置即使传过来是空的字符串也是可以转的,要和前面传过来的格式一致,如 @XmlElement(name="BeginDate") @DateTimeFormat(pattern="yyyy-MM-dd") private Date begin...

  • 安装中文语言支持 yum install "@chinese support" 然后启动中文你语言输入法 system -->Preferences-->Input Method Enable input method feature Input Method Preferences Inout Method 转载于:htt...