JFace中Dialog类的使用方法

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

 

①设置标题栏名称

  1. @Override  
  2. protected void configureShell(Shell newShell) {  
  3.     // TODO Auto-generated method stub  
  4.     super.configureShell(newShell);  
  5.     newShell.setText("Hello!");  
  6. }  
 

 

②设置窗体大小

  1. @Override  
  2. protected Point getInitialSize() {  
  3.     // TODO Auto-generated method stub  
  4.     return new Point(300,400);  
  5. }  
 

 

③取消自带的OK、Cancel按钮

  1. @Override  
  2. protected void createButtonsForButtonBar(Composite parent) {  
  3.     // TODO Auto-generated method stub  
  4. }  
 

 

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

  1. @Override      
  2. protected Control createDialogArea(Composite parent) {      
  3.     // TODO Auto-generated method stub      
  4.     Composite Container = new Composite(parent, SWT.NONE);      
  5.     container.setBounds(00300400);      
  6.               
  7.     Button btn = new Button(container, SWT.NONE);      
  8.     btn.setBounds(10105520);      
  9.     btn.setText("Click!");      
  10.     // 实现自带“取消”按钮的功能  
  11.     btn.addSelectionListener(new SelectionAdapter(){  
  12.         @Override  
  13.         public void widgetSelected(SelectionEvent e) {  
  14.             // TODO Auto-generated method stub  
  15.             setReturnCode(CANCEL);  
  16.             close();  
  17.         }  
  18.     });  
  19.     return container;      
  20. }  

 

⑤居中对齐

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

 

⑥更改Shell样式

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

 

⑦自定义关闭事件

  1. @Override  
  2. public boolean close() {  
  3.     // TODO Auto-generated method stub  
  4.     super.close();  
  5.     // do something  
  6.     return true;  
  7. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值