📄 elementproxy.java
字号:
package net.sf.component.simplenote;
import java.io.File;
import org.eclipse.swt.custom.PaintObjectEvent;
import org.eclipse.swt.widgets.Composite;
/**
* 抽取了一个image和file的父类
* @author levin
* 2007.03.15
*/
public abstract class ElementProxy {
public String src;
public int width;
public int height;
public ElementProxy() {
}
public ElementProxy(String html) {
}
//取html表示
public abstract String getHtml();
//取metrics:ascent,descent,width
public abstract int[] getMetrics();
//保存
public abstract void save(String basePath);
//绘制
public abstract void draw(String basePath,PaintObjectEvent event,Composite parent);
//清场
public abstract void dispose();
//取占位符
public abstract String getPlaceholder();
public String toString(){
return getHtml();
}
//取文件名,不重复
protected synchronized File createEmbedFile(String basePath,String fileSuffix) {
long currentTime = System.currentTimeMillis();
File parent=new File(basePath,"embed");
if(! parent.exists() || ! parent.isDirectory())
parent.mkdir();
File file = null;
do {
file = new File(parent, Long.toHexString(currentTime) + fileSuffix);
currentTime++;
} while (file.exists());
return file;
}
//一个工厂方法
public static ElementProxy getInstance(String html){
if(html.startsWith("<img"))
return new ImageProxy(html);
else
return new FileProxy(html);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -