JFace中Dialog类的使用方法

来源:互联网 发布:淘宝联盟的优惠券在哪 编辑:程序博客网 时间:2024/06/05 13:21
近期的工作需要一个模态化的对话框,发现JFace中的Dialog正好符合我的要求,并且可以定制的方面也不少,使用起来很方便。下面是一些常用方法,因此在这里记录下来。

 

①设置标题栏名称

[Java]view plain copy
print?
  1. @Override  
  2. protected void configureShell(Shell newShell) {  
  3.     // TODO Auto-generated method stub  
  4.     super.configureShell(newShell);  
  5.     newShell.setText("Hello!");  
  6. }  
 

 

②设置窗体大小

[java] view plain copy
print?
  1. @Override  
  2. protected Point getInitialSize() {  
  3.     // TODO Auto-generated method stub  
  4.     return new Point(300,400);  
  5. }  
 

 

③取消自带的OK、Cancel按钮

[java] view plain copy
print?
  1. @Override  
  2. protected void createButtonsForButtonBar(Composite parent) {  
  3.     // TODO Auto-generated method stub  
  4. }  
 

 

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

[java] view plain copy
print?
  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样式

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

 

⑦自定义关闭事件

[java] view plain copy
print?
  1. @Override  
  2. public boolean close() {  
  3.     // TODO Auto-generated method stub  
  4.     super.close();  
  5.     // do something  
  6.     return true;  
  7. }  
0 0
原创粉丝点击