統計資訊說服力強,曲線圖最直觀。本文教導用 Java Applet 繪製統計曲線,嵌入 HTML 發布。參考文獻 [1] 用 OLE 工具,本文採 Java 繪圖支援。
Java 繼承 C++ 基礎語法,摒棄預編譯、巨集、指標、多重繼承等複雜特性,引入介面、套件、結構中立、安全性、多執行緒、網路通訊等現代特性。
從 1.0.3α 到 1.0、1.1 版,套件架構演進。本文程式基於 1.0 版撰寫,版本間兼容性需注意。
<param> 提供,資料筆數不限。兩個類別協作:Curve 處理繪圖邏輯,Plot 繼承 Applet 呼叫 Curve 完成繪製。
繼承 Object (可省略)。
Graphics 類別抽象各平台繪圖裝置環境,對應 Windows GDI Device Context。建構子接收 Plot 的 Graphics 物件供繪圖方法使用。
public synchronized void showData(Vector v) {
float maxY = 0;
myGC.setColor(Color.red);
int xPoint, yPoint;
// 尋找最大值
for (int i=0; i maxY) maxY = temp;
}
// 繪製資料點、連線、標示數值
xPoint = xOrigin + (xSpacing/2);
int oldX=0, oldY=0;
for (int j=0; j
唯一繼承 Applet 的類別,類名決定 .class 檔名 (如 Plot.class),須宣告 public。
用 Checkbox + CheckboxGroup 實現單選功能。
Applet 設 BorderLayout,建立 Panel 含 3 個單選鈕,設 GridLayout(1,3),加入 South 區域。
readStringData(String s):讀取標題,格式 <param name="1-DESC" value="每月訪問者統計">readData(String s):讀取數值向量,格式 <param name="1-1" value="10">,循環讀取直到無參數。JDK 1.0 無訊息映射表,覆寫 action(Event e, Object o),判斷觸發的 Checkbox,讀取對應資料與標題,呼叫 Curve 繪圖方法並 repaint()。
<applet code="Plot.class" width=350 height=200>
<param name="1-DESC" value="每月訪問者統計">
<param name="1-1" value="10"> <param name="1-2" value="4"> ...
<param name="2-DESC" value="每年訪問者統計"> ...
<param name="3-DESC" value="一次購買稅統計"> ...
</applet>
執行結果見原文附圖。