源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

SWT JFace Bookmark 制作

  • 时间:2020-06-05 11:36 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:SWT JFace Bookmark 制作
代码如下: BookmarkOrganizer.java
[url=\]                    + bookmark.href                     + "\" ADD_DATE=\""                     + bookmark.addDate                     + "\" LAST_VISIT=\""                     + bookmark.lastVisited                     + "\" LAST_MODIFIED=\" +"                     + bookmark.lastModified                     + "\">"                     + bookmark.name                     + "</A>\n");         }     }     private void loadBookmark(File file, TreeItem rootItem) {         TreeItem parent = rootItem;         try {             BufferedReader reader = new BufferedReader(new FileReader(file));             String line = null;             while ((line = reader.readLine()) != null) {                 line = line.trim();                 if (line.startsWith(folderLinePrefix)) {                     Matcher matcher = folderPattern.matcher(line);                     if (matcher.find()) {                         String addDate = matcher.group(1);                         String name = matcher.group(2);                         TreeItem item = new TreeItem(parent, SWT.NULL);                         item.setText(name);                         item.setData(KEY_ADD_DATE, addDate);                         item.setImage(iconFolder);                         parent = item;                     }                 } else if (line.startsWith(urlLinePrefix)) {                     Matcher matcher = urlPattern.matcher(line);                     if (matcher.find()) {                         Bookmark bookmark = new Bookmark();                         bookmark.href = matcher.group(1);                         bookmark.addDate = matcher.group(2);                         bookmark.lastVisited = matcher.group(3);                         bookmark.lastModified = matcher.group(4);                         bookmark.name = matcher.group(5);                         TreeItem item = new TreeItem(parent, SWT.NULL);                         item.setText(bookmark.name);                         item.setData(bookmark);                         item.setImage(iconURL);                     }                 } else if (line.equals("</DL><p>")) { // folder boundry.                     parent = parent.getParentItem();                 }             }         } catch (FileNotFoundException e) {             e.printStackTrace();         } catch (IOException e) {             e.printStackTrace();         }     }     private void setStatus(String message) {         label.setText(message);     }     public static void main(String[] args) {         new BookmarkOrganizer();     } }
BookmarkTransfer.java
package swt_jface.demo11; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import org.eclipse.swt.dnd.ByteArrayTransfer; import org.eclipse.swt.dnd.TransferData; public class BookmarkTransfer extends ByteArrayTransfer {     private static final String BOOKMARK_TRANSFER_NAME = "BOOKMARK";     private static final int BOOKMARK_TRANSFER_ID =         registerType(BOOKMARK_TRANSFER_NAME);     private static final BookmarkTransfer instance = new BookmarkTransfer();     public static BookmarkTransfer getInstance() {         return instance;     }     protected int[] getTypeIds() {         return new int[] { BOOKMARK_TRANSFER_ID };     }     protected String[] getTypeNames() {         return new String[] { BOOKMARK_TRANSFER_NAME };     }     protected void javaToNative(Object object, TransferData transferData) {         if (object == null || !(object instanceof Bookmark)) return;         Bookmark bookmark = (Bookmark) object;         if (isSupportedType(transferData)) {             try {                 ByteArrayOutputStream stream = new ByteArrayOutputStream();                 DataOutputStream out = new DataOutputStream(stream);                 out.writeUTF(bookmark.name);                 out.writeUTF(bookmark.href);                 out.writeUTF(bookmark.addDate);                 out.writeUTF(bookmark.lastVisited);                 out.writeUTF(bookmark.lastModified);                 out.close();                 super.javaToNative(stream.toByteArray(), transferData);             } catch (IOException e) {                 e.printStackTrace();             }         }     }     protected Object nativeToJava(TransferData transferData) {         if (isSupportedType(transferData)) {             byte[] raw = (byte[]) super.nativeToJava(transferData);             if (raw == null) return null;             Bookmark bookmark = new Bookmark();             try {                 ByteArrayInputStream stream = new ByteArrayInputStream(raw);                 DataInputStream in = new DataInputStream(stream);                 bookmark.name = in.readUTF();                 bookmark.href = in.readUTF();                 bookmark.addDate = in.readUTF();                 bookmark.lastVisited = in.readUTF();                 bookmark.lastModified = in.readUTF();                 in.close();             } catch (IOException e) {                 e.printStackTrace();                 return null;             }             return bookmark;         } else {             return null;         }     } }
mybookmark.htm
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部