不会吧
这里对JFace有兴趣的人这么少么?
还是都是在潜水。
我看很多人喜欢Swing,作为有力挑战者,有强大的开发环境eclipse支持的jface怎么这么少啊
个人感觉jface架构总体看不错,但是api里面pass了太多的Object,Object[]作为参数
上手比较困难。感觉上觉得是for developer but not programmar
这个也和eclipse很相似
ibm里面强人太多了,阿三也很厉害

解决方案 »

  1.   

    好吧,看来人气太少,我只好暂时撑一下了,希望SWT/JFace开发的人越来越多一个最简单的notepad,尚未实现任何文字编辑功能(可以说只是一个原型)
    希望能对新手有所帮助,毕竟example实在太少了
    在j2se1.3.1_08下调试通过,IDE:eclipsev3M3,时间不多,省去了javadoc
    /**
     * Date            Author       Changes Key         Version             
     * -------------------------------------------------------------------
     * 2003/11/03      allenhe        新規作成            0.0.1               
     */
    package org.allen.eclipse.jeditor;import org.allen.eclipse.jeditor.document.JDocument;
    import org.allen.eclipse.jeditor.listener.JTextInputListener;
    import org.allen.eclipse.jeditor.listener.JTextListener;
    import org.eclipse.jface.text.TextViewer;
    import org.eclipse.jface.window.ApplicationWindow;
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.graphics.Rectangle;
    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.swt.widgets.Control;
    import org.eclipse.swt.widgets.Display;/**
     * <pre>
     * main class
     * </pre>
     */
    public class JEditor extends ApplicationWindow {
             //必须实现
    public JEditor() {
                super(null);
    } protected Control createContents(Composite parent) {
    setTitle("JEditor");
    parent = resizeCompositeBounds(parent);
    TextViewer textviewer = 
                          new TextViewer(parent, SWT.BORDER|SWT.MULTI | SWT.V_SCROLL);
             //JDocument:extends org.eclipse.jface.text.AbstractDocument
                      textviewer.setDocument(new JDocument());
             //JTextInputListener : extends org.eclipse.jface.text.ITextInputListener
    textviewer.addTextInputListener(new JTextInputListener());
             //JTextListener : extends org.eclipse.jface.text.ITextListener
    textviewer.addTextListener(new JTextListener());
    return textviewer.getControl();
    } /**
     * <pre>
     * Main Entry
     * </pre>
     * @param args
     */
    public static void main(String[] args) {
    JEditor jeditor = new JEditor();
    jeditor.setBlockOnOpen(true);//阻赛线程
    jeditor.open();
    Display.getCurrent().dispose();//调用上层SWT组件释放资源
    } private void setTitle(String title){//设置标题栏
    getShell().setText(title); //shell:上层SWT组件
    } private Composite resizeCompositeBounds(Composite parent) {
                      //主要作用,重新定义显示区域的长和宽,这个函数可选
    Rectangle rect = parent.getBounds();
    rect.height = 300;
    rect.width = 400;
    parent.setBounds(rect);
    return parent;
    }
    }
      

  2.   

    //JTextInputListener : extends org.eclipse.jface.text.ITextInputListener应为
    //JTextInputListener : extends org.eclipse.jface.text.ITextInputListener
    显示有一些问题