Processing...

Suggested case list:

Using timer to refresh a grid

383guest172.69.33.12125nk0uiMay 7, 2020 7:23:47 AMlink

user model to move item to another listbox

120guest162.158.193.148d0n3krApr 2, 2020 5:28:28 AMlink

Disabled list item row passed to VM-1981

296fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:44 PMlink

Disabled list item row passed to VM-1981

295fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:16 PMlink

Disabled list item row passed to VM-1981

294fatih123160.83.36.13225nk0uiFeb 13, 2018 3:30:44 PMlink

grid sample with ListModel/RowRenderer

816guest80.82.2.1312vah9ajFeb 21, 2017 11:42:21 AMlink

grid sample with ListModel/RowRenderer

809guest175.98.113.1622vah9ajJan 26, 2017 9:19:33 AMlink

grid sample with ListModel/RowRenderer

196guest79.185.142.402vah9ajApr 26, 2014 10:53:57 PMlink

grid sample with ListModel/RowRenderer

195guest79.185.142.402vah9ajApr 26, 2014 10:53:54 PMlink

grid sample with ListModel/RowRenderer

194guest79.185.142.402vah9ajApr 26, 2014 10:53:51 PMlink

grid sample with ListModel/RowRenderer

193guest79.185.142.402vah9ajApr 26, 2014 10:53:48 PMlink

grid sample with ListModel/RowRenderer

192guest79.185.142.402vah9ajApr 26, 2014 10:53:44 PMlink

grid sample with ListModel/RowRenderer

191guest79.185.142.402vah9ajApr 26, 2014 10:53:40 PMlink

Hierarchy table without using ZK PE/EE

1aaknai151.28.135.2131s871daJul 29, 2013 11:02:46 PMlink

grid sample with ListModel/RowRenderer

128aaknai151.28.135.2132vah9ajJul 29, 2013 7:20:00 PMlink

user model to move item to another listbox

1TonyQ114.25.109.94d0n3krApr 21, 2012 10:43:27 AMlink

Using timer to refresh a grid

1TonyQ220.133.44.3725nk0uiFeb 17, 2012 3:17:34 AMlink

Fire a event from child iframe

1TonyQ220.133.44.372eupjotFeb 3, 2012 5:04:52 AMlink

Textbox input restriction sample

1TonyQ72.21.245.2431b3nlr0Dec 20, 2011 10:09:10 AMlink

Test web core taglib in ZUL

1TonyQ198.203.175.175ofqkemDec 17, 2011 3:36:08 AMlink

Latest 10 Fiddles :

constraint binding textbox

3guest172.68.151.16220peldaDec 5, 2025 5:08:19 PMlink

Another new ZK fiddle

2guest172.68.151.16320peldaDec 5, 2025 5:07:51 PMlink

Another new ZK fiddle

1guest172.68.151.16220peldaDec 5, 2025 5:07:32 PMlink

Another new ZK fiddle

1peggypeng172.71.154.99364f4neDec 5, 2025 9:24:31 AMlink

tooltip example

2guest104.22.23.13rc1ntoDec 4, 2025 2:23:45 PMlink

Another new ZK fiddle

1guest172.69.134.2277t7602Dec 4, 2025 1:40:46 PMlink

Another new ZK fiddle

1peggypeng104.22.17.1802df6e3oDec 4, 2025 8:41:29 AMlink

onClose

1peggypeng172.68.87.248j8kd8aDec 3, 2025 4:10:26 AMlink

Another new ZK fiddle

1peggypeng172.69.134.2271rm7f4eNov 26, 2025 3:31:24 AMlink

ZK-5912-Suggestion

2rebeccalai104.22.20.1442qrmiiuNov 26, 2025 2:07:15 AMlink

Chart does not work vflex

9guest178.169.93.1332c3jt57Nov 24, 2014 8:59:17 PMlink

resources

index.zulzul<zk> <window id="winLab1" apply="pkg$.controller.CtrIndex" > <html> <br /> <br /> </html> <hbox hflex="1"> <vlayout hflex="min"> <label value="Исходные данные:"/> <hbox> <grid width="200px"> <rows> <row><label value="Первый класс"/></row> <row>M11: <textbox id="tbM11" width="100px"/></row> <row>M12: <textbox id="tbM12" width="100px"/></row> <row>D11: <textbox id="tbD11" width="100px"/></row> <row>D12: <textbox id="tbD12" width="100px"/></row> <row>P1: <textbox id="tbP1" width="100px"/></row> <row>N: <textbox id="tbN" width="100px"/></row> </rows> </grid> <grid width="200px"> <rows> <row><label value="Второй класс"/></row> <row>M21: <textbox id="tbM21" width="100px"/></row> <row>M22: <textbox id="tbM22" width="100px"/></row> <row>D21: <textbox id="tbD21" width="100px"/></row> <row>D22: <textbox id="tbD22" width="100px"/></row> <row>P2: <label id="lP2" width="100px"/></row> <row>K: <textbox id="tbK" width="100px"/></row> </rows> </grid> </hbox> </vlayout> <vbox hflex="min"> <html> <br/> </html> <button id = "btnCalc" /> </vbox> <vlayout hflex="min"> <label value="Классификатор:" /> <hbox> <grid width="200px"> <rows> <row><label value="Первый класс"/></row> <row>^M11: <label id="leM11" width="100px"/></row> <row>^M12: <label id="leM12" width="100px"/></row> <row>^D11: <label id="leD11" width="100px"/></row> <row>^D12: <label id="leD12" width="100px"/></row> <row>n1: <label id="lN1" width="100px"/></row> <row>^P1: <label id="leP1" width="100px"/></row> <row>^Pош1: <label id="lePE1" width="100px"/></row> <row>^Pош: <label id="lePE" width="100px"/></row> </rows> </grid> <grid width="200px"> <rows> <row><label value="Второй класс"/></row> <row>^M21: <label id="leM21" width="100px"/></row> <row>^M22: <label id="leM22" width="100px"/></row> <row>^D21: <label id="leD21" width="100px"/></row> <row>^D22: <label id="leD22" width="100px"/></row> <row>n2: <label id="lN2" width="100px"/></row> <row>^P2: <label id="leP2" width="100px"/></row> <row>^Pош2: <label id="lePE2" width="100px"/></row> </rows> </grid> </hbox> </vlayout> </hbox> <hbox> <button id="chart1" /> <button id="chart2" /> <button id="chart3" /> <button id="chart4" /> <chart id="chart" /> </hbox> </window> </zk>CtrIndex.javajava import java.util.Random; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.select.SelectorComposer; import org.zkoss.zk.ui.select.annotation.Listen; import org.zkoss.zk.ui.select.annotation.Wire; import org.zkoss.zul.Button; import org.zkoss.zul.Chart; import org.zkoss.zul.Label; import org.zkoss.zul.Textbox; import org.zkoss.zul.CategoryModel; import org.zkoss.zul.Chart; public class CtrIndex extends SelectorComposer<Component>{ @Wire Textbox tbM11; @Wire Textbox tbM12; @Wire Textbox tbD11; @Wire Textbox tbD12; @Wire Textbox tbM21; @Wire Textbox tbM22; @Wire Textbox tbD21; @Wire Textbox tbD22; @Wire Label leM11; @Wire Label leM12; @Wire Label leD11; @Wire Label leD12; @Wire Label lN1; @Wire Label leP1; @Wire Label lePE1; @Wire Label lePE; @Wire Label leM21; @Wire Label leM22; @Wire Label leD21; @Wire Label leD22; @Wire Label lN2; @Wire Label leP2; @Wire Label lePE2; @Wire Textbox tbP1; @Wire Textbox tbN; @Wire Textbox tbK; @Wire Label lP2; @Wire Button btnCalc; @Wire Chart chart; @Wire Button chart1; @Wire Button chart2; @Wire Button chart3; @Wire Button chart4; Random rnd = new Random(); Integer n1, n2, N, K; Double m11, m12, m21, m22, d11, d12, d21, d22, P1, P2; Double e_m11, e_m12, e_m21, e_m22, e_d11, e_d12, e_d21, e_d22, e_p1, e_p2, e_p1_err, e_p2_err, e_p_err; double[] x1; double[] y1; double[] x2; double[] y2; @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); btnCalc.setVisible(true); btnCalc.setLabel("Вычилить"); chart1.setVisible(true); chart1.setLabel("Pош(N)"); chart2.setVisible(true); chart2.setLabel("Pош(D11-D21)"); chart3.setVisible(true); chart3.setLabel("Pош(P1)"); chart4.setVisible(true); chart4.setLabel("Pош(m21-m11)"); chart.setType("spline"); chart.setWidth("480"); chart.setHeight("300"); chart.setTitle("Лабораторная работа №1"); setConstParameters(); } public void setConstParameters(){ tbM11.setValue("10"); tbM12.setValue("10"); tbD11.setValue("2"); tbD12.setValue("2"); tbM21.setValue("15"); tbM22.setValue("15"); tbD21.setValue("3"); tbD22.setValue("3"); tbP1.setValue("0.5"); tbN.setValue("500"); double forLp2 = 1 - Double.parseDouble(tbP1.getValue()); lP2.setValue(String.valueOf(forLp2)); tbK.setValue("96"); } public void getData(){ N = Integer.parseInt(tbN.getValue()); P1 = Double.parseDouble(tbP1.getValue()); P2 = Double.parseDouble(lP2.getValue()); K = Integer.parseInt(tbK.getValue()); m11 = Double.parseDouble(tbM11.getValue()); m12 = Double.parseDouble(tbM12.getValue()); m21 = Double.parseDouble(tbM21.getValue()); m22 = Double.parseDouble(tbM22.getValue()); d11 = Double.parseDouble(tbD11.getValue()); d12 = Double.parseDouble(tbD12.getValue()); d21 = Double.parseDouble(tbD21.getValue()); d22 = Double.parseDouble(tbD22.getValue()); } public void setParameters(){ N = Integer.parseInt(tbN.getValue()); K = Integer.parseInt(tbK.getValue()); m11 = Double.parseDouble(tbM11.getValue()); m12 = Double.parseDouble(tbM12.getValue()); m21 = Double.parseDouble(tbM21.getValue()); m22 = Double.parseDouble(tbM22.getValue()); d11 = Double.parseDouble(tbD11.getValue()); d12 = Double.parseDouble(tbD12.getValue()); d21 = Double.parseDouble(tbD21.getValue()); d22 = Double.parseDouble(tbD22.getValue()); P1 = Double.parseDouble(tbP1.getValue()); P2 = Double.parseDouble(lP2.getValue()); } public void randomSample(){ n1 = 0; n2 = 0; for(int i = 0; i < N; ++i){ if(rnd.nextDouble() < P1){ n1++; }else{ n2++; } } } /*** * * @param m = мат ожидание * @param d = дисперсия * @return temp = информационный признак, распределенный по нормальному закону распределения. */ public double normalDistribution(double m, double d){ double temp = 0; double x = 0; for(int i = 0; i <= K; ++i){ x = x + (rnd.nextDouble() - 0.5); } temp = Math.sqrt(12*d/K)*x + m; return temp; } /*** * @return estimate varience = оценка дисперсии */ public double estimate_V(double[] x, int n , double m){ double e_v = 0; for(int i = 0; i < n; ++i){ e_v = e_v + Math.pow((x[i]-m), 2); } e_v = e_v/(n-1); return e_v; } /*** * * @return estimate_e = оценку мат ожидании */ public double estimate_E(double[] x, int n){ double e_e = 0; for(int i = 0; i < n; ++i){ e_e = e_e + x[i]; } e_e = e_e/n; return e_e; } /*** * * @return количество ошибок классификатора */ public Integer probabilityOfError(int size, int id, double [] arr1, double[] arr2, double em11, double em12, double em21, double em22, double ed11, double ed12, double ed21, double ed22, double ep1, double ep2){ Integer n_error = 0; double nu = 0, f1 = 0, f2 = 0; for(int i = 0; i < size; ++i){ f1 = ep1/(2*Math.PI*Math.sqrt(ed11*ed12)*Math.exp(-0.5*(Math.pow((arr1[i]-em11), 2)/ed11 + Math.pow((arr2[i]-em12), 2)/ed12))); f2 = ep2/(2*Math.PI*Math.sqrt(ed21*ed22)*Math.exp(-0.5*(Math.pow((arr1[i]-em21), 2)/ed21 + Math.pow((arr2[i]-em22), 2)/ed22))); nu = f1 - f2; if(id==1&&nu>0){ n_error++; } if(id==2&&nu<0){ n_error++; } } System.out.println("n_error" + n_error); return n_error; } @Listen("onClick = #btnCalc") public void calc(){ setParameters(); randomSample(); x1 = new double[n1]; x2 = new double[n1]; y1 = new double[n2]; y2 = new double[n2]; for(int i = 0; i < n1; ++i){ x1[i] = normalDistribution(m11, d11); x2[i] = normalDistribution(m12, d12); } for(int i = 0; i < n2; ++i){ y1[i] = normalDistribution(m21, d21); y2[i] = normalDistribution(m22, d22); } lN1.setValue(String.valueOf(n1)); lN2.setValue(String.valueOf(n2)); e_p1 = (double)n1/(double)N; e_p2 = (double)n2/(double)N; leP1.setValue(String.valueOf(e_p1)); leP2.setValue(String.valueOf(e_p2)); e_m11 = estimate_E(x1, n1); e_m12 = estimate_E(x2, n1); e_m21 = estimate_E(y1, n2); e_m22 = estimate_E(y2, n2); leM11.setValue(String.valueOf(String.format("%.2f", e_m11))); leM12.setValue(String.valueOf(String.format("%.2f", e_m12))); leM21.setValue(String.valueOf(String.format("%.2f", e_m21))); leM22.setValue(String.valueOf(String.format("%.2f", e_m22))); e_d11 = estimate_V(x1, n1, estimate_E(x1, n1)); e_d12 = estimate_V(x2, n1, estimate_E(x2, n1)); e_d21 = estimate_V(y1, n2, estimate_E(y1, n2)); e_d22 = estimate_V(y2, n2, estimate_E(y2, n2)); leD11.setValue(String.valueOf(String.format("%.2f", e_d11))); leD12.setValue(String.valueOf(String.format("%.2f", e_d12))); leD21.setValue(String.valueOf(String.format("%.2f", e_d21))); leD22.setValue(String.valueOf(String.format("%.2f", e_d22))); e_p1_err = (double)probabilityOfError(n1, 1, x1, x2, e_m11, e_m12, e_m21, e_m22, e_d11, e_d12, e_d21, e_d22, e_p1, e_p2)/(double)n1; e_p2_err = (double)probabilityOfError(n2, 2, y1, y2, e_m11, e_m12, e_m21, e_m22, e_d11, e_d12, e_d21, e_d22, e_p1, e_p2)/(double)n2; e_p_err = e_p1_err + e_p2_err; lePE1.setValue(String.valueOf(String.format("%.2f", e_p1_err))); lePE2.setValue(String.valueOf(String.format("%.2f", e_p2_err))); lePE.setValue(String.valueOf(String.format("%.2f", e_p_err))); } public void setChart(){ Title title = new Title(); title.setText("Первая лабораторная работа №1"); title.setX(200); title.setY(400); chart.setTitle(title); } }