目前日期文章:200912 (5)

瀏覽方式: 標題列表 簡短摘要

當我在測試 db4o-7.4\doc\tutorial\src\com\db4o\f1\chapter3\CollectionsExample.java 時,發現了一個大問題。原本整個範例是沒有什麼問題,但是當我把原始碼做了一些修正之後,卻出現很奇怪的問題。在 api doc 裏有提到 Db4o.configure() 即將被捨棄,改用 Db4o.newConfigure() 代替。想當然爾,在以後的程式碼裏當然是用 Db4o.newConfigure(),而不會去用 Db4o.configure()。但是如果你真的如此做,你就完蛋了,因為 Db4o.newConfigure() 的 cascadeOnUpdate 對 List 無法產生作用,反而用 Db4o.configure() 才是對的。

public static void updateCarPart1() {
    Db4o.configure().objectClass(Car.class).cascadeOnUpdate(true);
}
改成
public static void updateCarPart1() {
    Db4o.newConfigure().objectClass(Car.class).cascadeOnUpdate(true);
}

會發現結果是 Ferrari[Michael Schumacher/100]/1 : 1261126146125 : 0.1,0.2,0.3 這一個應該產生的結果,卻沒有生效;也就是說 update 對 List 沒有作用。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  1. 一開始顯示時要讓分割成為一半一半時,可以使用 setResizeWeight(0.5) 來達成,不可以使用 setDividerLocation(0.5) 根本無效。
  2. to be continue...

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  1. infonode 的組成,主要是有一個 RootWindow,再加上很多的 Views,而 TabWindow, SplitWindow, FloatWindow 都是用來做為合成的視窗。
  2. RootWindow 最好藉由 DockingUtil.createRootWindow() 來取得,以確保唯一性。
  3. RootWindow 包含很多 Views,而 Views 最好放進 ViewMap 做管理。
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;

import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFrame;

import net.infonode.docking.RootWindow;
import net.infonode.docking.View;
import net.infonode.docking.util.DockingUtil;
import net.infonode.docking.util.ViewMap;

public class test2 extends JFrame {
    private static final long serialVersionUID = 1L;
    private JPanel jContentPane = null;
    private ViewMap viewMap;
    private RootWindow rootWindow;

    private RootWindow getRootWindow() {
        if (rootWindow == null) {
            View[] views = new View[5];
            viewMap = new ViewMap();
            for (int i = 0; i < views.length; i++) {
                views[i] = new View("View " + i, null, new JButton("This is view " + i + "!"));
                viewMap.addView(i, views[i]);
            }
            rootWindow = DockingUtil.createRootWindow(viewMap, true);
        }
        return rootWindow;
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                test2 thisClass = new test2();
                thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                thisClass.setVisible(true);
            }
        });
    }

    public test2() {
        super();
        initialize();
    }

    private void initialize() {
        this.setSize(300, 200);
        this.setContentPane(getJContentPane());
        this.setTitle("JFrame");
    }

    private JPanel getJContentPane() {
        if (jContentPane == null) {
            jContentPane = new JPanel();
            jContentPane.setLayout(new BorderLayout());
            jContentPane.add(getRootWindow(), BorderLayout.CENTER);
        }
        return jContentPane;
    }
}

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  1. 網址:http://code.google.com/p/visualswing4eclipse/
  2. 相較於臃腫的 Jigloo,vs4e 就顯得輕巧許多,但由於只有一個人開發維護,目前仍不是很成熟,並存在些許的 bug。
  3. update site: http://visualswing4eclipse.googlecode.com/svn/trunk/org.dyno.visual.swing.site/。
  4. 由於新版本存在一個嚴重的 bug,也就是無法在 source code 中使用 copy/paste,所以最好使用舊版本 vs4e_0.9.12.I20090506-2220.zip,下載解壓到 eclipse 目錄下並覆蓋掉 plugins 即可;如果已經安裝其它版本,請先把 eclipse\plugins 裏面的 org.dyno.visual.swing.* 全部刪除即可解除安裝。
  5. 已經好久沒更新了,似乎已經停止開發,最後一版為 vs4e_0.9.12.I20090527-2200.zip。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()

  1. Jigloo update-site - the url is: http://cloudgarden1.com/update-site
  2. The Commercial License for Jigloo version 4 costs $85 USD for a single-user license including one year of upgrades.
  3. 雖說可以免費使用 Jigloo,但老是顯示一個警告視窗也不好看,利用 google 查詢 "license of jigloo" 就可以看到一個序號了。
  4. 說明文件在 eclipse → Help → Help Contents → Jigloo GUI Builder Guide。
  5. 設定配置在 eclipse → Window → Preferences → Jigloo GUI Builder。
  6. 輸入序號在設定配置中的 Preferences → Jigloo GUI Builder → Licensing 裏。
  7. 新增 java beans 在設定配置中的 Preferences → Jigloo GUI Builder → Component palette/Custom 裏,利用 Add(bean or palette) 來新增 palette,再利用 Add beans from Archive 來加入 java beans。
  8. 以加入 l2fprod 為例
    1. 在 Swing 點一下,取得 focus。
    2. 點 Add(bean or palette),輸入 l2fprod。
    3. 點 Add beans from Archive,會出現一個對話框。
    4. 點 Browse...,選擇 l2fprod-common-all.jar。
    5. 點 OK,會把 l2fprod 加入到 palette。
    6. 點 Apply,不要直接點 OK,有時會沒有儲存設定。
    7. 點 OK,完成。

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()