[Eclipse]讨论一下SWT/JFACE

allenhe 2003-11-06 08:13:11
不知道这里有没有对eclipse plug-in开发的人有兴趣的
做plug-in开发似乎绕不过SWT/JFACE
大家都来说说心得吧
我起个头
讨论一下IDocument定义的函数方法
分数就灭有了,呵呵
...全文
33 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
allenhe 2003-11-09
  • 打赏
  • 举报
回复
//JTextInputListener : extends org.eclipse.jface.text.ITextInputListener

应为
//JTextInputListener : extends org.eclipse.jface.text.ITextInputListener
显示有一些问题
allenhe 2003-11-09
  • 打赏
  • 举报
回复
好吧,看来人气太少,我只好暂时撑一下了,希望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;
}
}
allenhe 2003-11-07
  • 打赏
  • 举报
回复
不会吧。。。
这里对JFace有兴趣的人这么少么?
还是都是在潜水。
我看很多人喜欢Swing,作为有力挑战者,有强大的开发环境eclipse支持的jface怎么这么少啊
个人感觉jface架构总体看不错,但是api里面pass了太多的Object,Object[]作为参数
上手比较困难。感觉上觉得是for developer but not programmar
这个也和eclipse很相似
ibm里面强人太多了,阿三也很厉害
AIHUA 2003-11-07
  • 打赏
  • 举报
回复
正在学习,不过经验太少.

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧