-
FEATURED COMPONENTS
First time here? Check out the FAQ!
timplotModel.zul
<zk xmlns:w="http://www.zkoss.org/2005/zk/client"> <zscript><![CDATA[ import org.zkforge.timeplot.geometry.*; import org.zkforge.timeplot.data.*; import org.zkforge.timeplot.operator.*; import org.zkforge.timeline.data.OccurEvent; import org.zkoss.zul.*; ValueGeometry vg = new DefaultValueGeometry(); vg.setGridColor("#000000"); TimeGeometry tg = new DefaultTimeGeometry(); tg.setAxisLabelsPlacement("bottom"); ]]></zscript> <timeplot id="tp" height="300px" apply="TimeplotModelController"> <plotinfo id="plot1" dotColor="#000000" showValues="true" lineColor="#008bb6" valueGeometry="${vg}" timeGeometry="${tg}" > </plotinfo> </timeplot> </zk>
TimeplotModelController.java
public class TimeplotModelController implements Composer { private Timeplot tp; private Plotinfo plot1; private Desktop desktop; @Override public void doAfterCompose (Component comp) throws Exception { tp = (Timeplot) comp; desktop = (Desktop) tp.getDesktop(); desktop.enableServerPush(true); plot1 = (Plotinfo) tp.getFellow("plot1"); ListModelList<Plotinfo> model = new ListModelList<Plotinfo>(); plot1.setDataModel(model); TimerTask task = new TimerTask() { @Override public void run () { ListModelList<PlotData> model = (ListModelList<PlotData>) plot1.getDataModel(); PlotData newData = new PlotData(); newData.setFormat("HH:mm"); newData.setTime(new Date()); newData.setValue((float) (Math.random() * 20)); try { Executions.activate(desktop); if (model.size() < 10) { model.add(newData); } else { model.remove(0); model.add(newData); } Executions.deactivate(desktop); } catch (Exception e) { e.printStackTrace(); } } }; Timer timer = new Timer(); timer.schedule(task, 10 * 1000, 10 * 1000); } }
Asked: 2012-06-02 10:55:30 +0800
Seen: 910 times
Last updated: Jun 02 '12