当前位置:编程学习 > 网站相关 >>

SWT/Jface ApplicationWindow

简单写了一个如何添加菜单栏的ApplicationWindow。

网上这方面的信息很少。

悲剧

import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class HelloJFace extends ApplicationWindow {
 private Composite parent;
 public HelloJFace() {
  super(null);
  addMenuBar();
 }
 /* (非 Javadoc)
  * @see org.eclipse.jface.window.Window#createContents(org.eclipse.swt.widgets.Composite)
  * 该方法负责创建窗口中的控件
  */
 protected Control createContents(Composite parent) {
  this.parent=parent;
  //getShell()方法为父类中的方法,返回窗口的Shell对象
  //设置窗口显示的标题
  getShell().setText("JFace");
  //创建建一个按钮
  Button button = new Button(parent, SWT.CENTER);
  button.setText("JFace Hello!");
  //调整窗口布局
  parent.pack();
  return parent;
 }
 @Override
 protected MenuManager createMenuManager() {
  MenuManager menuManager = new MenuManager("menu");
  menuManager.add(new HelloAction1());
  menuManager.add(new HelloAction2());
  return menuManager;
 }
 @Override
 protected ToolBarManager createToolBarManager(int style) {
  // TODO Auto-generated method stub
  return super.createToolBarManager(style);
 }
 @Override
 protected void createStatusLine(Shell shell) {
  // TODO Auto-generated method stub
  super.createStatusLine(shell);
 } www.zzzyk.com
 public static void main(String[] args) {
  //创建窗口对象
  HelloJFace helloJFace = new HelloJFace();
  //设置窗口处于打开状态
  helloJFace.setBlockOnOpen( true );
  //打开窗口
  helloJFace.open();
  //释放Dipsplay对象
  Display.getCurrent().dispose();
 }
}
HelloAction1 和 HelloAction2 都来自jFace 的action 就可以了。

补充:综合编程 , 其他综合 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,