/******************************************************************************* * Dietos uzdavinio sprendimo klase * ----------------------------------------------------------------------------- * Pradinis kodas: ***** * is http://soften.ktu.lt/~mockus/dietalast/contdietalast.html * ----------------------------------------------------------------------------- * Komentarai ir pakeitimai: Marijus Doviltis IFM-0/1 2005 * * Atlikta: * 1. Kodas papildytas komentarais, sutvarkyti pavadinimai,kad atspindetu tuos * duomenis kurie imami is lenteles o ne Mg zymetu Na ir pan. Taip pat buvo * naudojamas Cl vietoj J (Chloras vietoj Jodo), Cl nera normose, be to jis * nera is tu elementu kurie paprastai ivertinami. Mano nuomone rusiskoje * medziagoje Cl taip pat panaudotas vietoje J, juo lab kad sutikrinus * duomenis su http://soften.ktu.lt/~mockus/dietalagu/dieta-prods.txt * cl kiekis atitinka J kieki. * 2. Perziureti skaiciavimai, pasalinti nereikalingi, painus ir neaisku kam * skirti perskaiciavimai is vieno dydzio i kita o paskui vel atgal. * 3. Is naujo isversta rusiska medziaga, dalis patikrinta ir pakoreguota * pagal kitus saltinius * 4. Perdelioti duomenu laukai applete, dalis ju sugrupuota. Tai turetu * palengvinti tolimesnes modifikacijas jei bus pridedami apribojimai, * be to taip patogiau naudotis. * 5. Patiekalas yra neskaidomas (t.y. jis gali buti: 0, 1,2... , bet ne 0.0002 * ar pan. Be to,patiekalo maistiniai elementai neskaiciuojami kilogramais * ty ne dauginti is 10 * 6. Perkelta galimybe is siu metu darbo, kad itrauktu tik tuos produktus kuriu * skonis atitinka pasirinkta su intervalu [pasirinkas:10] * Bet sitas pasirinkimas atliekamas atskiru parametru o ne bendru kaip * buvo padaryta kolegu. * 7. Sutvarkyta optimizavimo formule pagal teorija, kad atitiktu realius * rezultatus. * 8. Isvedami visi optimizavimo parametrai. Kartais pranesimas - "Virsijote * rekomenduojama norma" gaunamas ,nes kelis kartus virsyjama norma pagal * vitaminus ar mineralus. * 9. Dabartiniai skaiciavimai atliekami su 12 grieztu ribojimu (ty virsutine * ir apatine ribos nurodytos 12 dedamuju) visi kiti apriboti is apacios. * Grieztai apribota: Cal,Baltymai,Riebalai,Angliavandelniai * vitaminai:A,B1,B2,B3,B6,B12; * mikroelementai: Ca,S; * Apribojimas is apacios (ty ne maziau negu reikia) sukuria tarsi laisves * laipsnius. Is apacios apriboti yra: * vitaminai: C,E,PP * mikroelementai: P(Fosforas),Na; * * Dar reikia atlikti (pasiulymai kitiem metam): * 1. Patikslinti duomenis lenteleje ir ja papildyti * 2. Kadangi dienos normos yra atskirose lentelese, jos priklauso ne tik nuo * mases, bet ir nuo amziaus, gyvenimo budo. Vartotojui patogu butu siuos * duomenis gauti migtuko paspaudimu ir pasirinkti norimus (kvepia dideliu * programavimu) * **************************************************************************** * Naudingi parametrai: * Nurodant elemento pozicija applete naudojamos koordinates (x1,y1, delta x,delta y) * (x1,y1 - virsutinis kairysis taskas,delta x,delta y-dydis) * x dideja nuo kaires, y dideja nuo virsaus *------------------------------------------------ **/ package source; import com.symantec.itools.javax.swing.borders.LineBorder; import com.symantec.itools.javax.swing.models.*; import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.io.*; import java.net.MalformedURLException; import java.net.URL; import java.util.EventObject; import javax.swing.*; import javax.swing.text.JTextComponent; import lp.*; import symantec.itools.lang.Context; public class Dieta extends JApplet { /*--------------------------------------------- * parametrai optimizacijai ? *--------------------------------------------*/ static final short LE = 0; static final short EQ = 1; static final short GE = 2; static final short OF = 3; int productCount; // pagrindinio produktu saraso dydis int activProdCnt; //produktu skaicius kurie itraukiami i skaiciavimus Product produktai[]; //pagrindinis produktu sarasas Product prodActiv[]; //aktyviu produktu sarasas Product produktai1[];// laikinas sarasas /*-------------------------------------- * kiti kintamieji,vaizdo elementai ir tt *-------------------------------------*/ public boolean duomenuKlaida; String failas; JDialog D; JLabel lblFailas; JTextField txtfldFailas; JButton btnOK; JTabbedPane tbdpnlBendras; JPanel pnlDuomenys; JScrollPane scrlpnLentele; JTable tblLentele; JLabel lblLentelesPav; JLabel lblRedagavimas; JLabel lblName; JTextField txtfldName; JLabel lblPrice; JTextField txtfldPrice; JLabel lblCalories; JTextField txtfldCalories; JLabel lblProteins; JTextField txtfldProteins; JLabel lblFats; JTextField txtfldFats; JLabel lblCarbohydrates; JTextField txtfldCarbohydrates; JLabel lblTaste; JComboBox cmbbxTaste; JButton btnLoad; JButton btnNew; JButton btnUpdate; JButton btnNext1; JButton btnDelete; JCheckBox chkbxDish; JLabel lblDish; JLabel JLabel5; JLabel JLabel6; JLabel JLabel7; JLabel JLabel8; JLabel JLabelB22; JLabel JLabelB33; JLabel JLabelB66; JLabel JLabelB122; JLabel JLabelPP; JLabel JLabelCa2; JLabel JLabelNa2; JLabel JLabelS2; JLabel JLabelP2; JLabel JLabelJ2; JTextField txtfldVitaminC; JTextField txtfldVitaminA; JTextField txtfldMineralCa; JTextField txtfldMineralNa; JPanel pnlPageidavimai; JTextField txtfldWeight; JLabel lblWeight; JButton btnNext2; JComboBox cmbbxOptimization; JLabel lblOptimization; JTextField txtfldVitaB2; JTextField txtfldVitaB3; JTextField txtfldVitaB6; JTextField txtfldVitaB12; JTextField txtfldVitaPP; JTextField txtfldMCA; JTextField txtfldMNa; JTextField txtfldMS; JTextField txtfldMP; JTextField txtfldMJ; JLabel lblImportance; JComboBox cmbbxImportance; JLabel JLabel9; JLabel JLabel10; JLabel JLabel11; JLabel JLabel12; JLabel JLabel13; JLabel JLabel14; JLabel JLabel15; JPanel pnlRezultatai; JScrollPane JScrollPane1; JTable JTable1; JLabel JLabel1; JLabel JLabel2; JLabel JLabel3; JLabel JLabel4; JLabel lblCaloriesTotal; JLabel lblProteinsTotal; JLabel lblFatsTotal; JLabel lblCarbohydratesTotal; /*Papildomi atsakymai*/ JLabel lblPriceTTlbl; JLabel lblPriceTotal; JLabel lblVitATotal; JLabel lblVitCTotal; JLabel lblVitB1Total; JLabel lblVitB2Total; JLabel lblVitB3Total; JLabel lblVitB6Total; JLabel lblVitB12Total; JLabel lblVitETotal; JLabel lblVitPPTotal; JLabel lblMinCaTotal; JLabel lblMinNaTotal; JLabel lblMinSTotal; JLabel lblMinPTotal; JLabel lblMinJTotal; JLabel lblVitATTlbl; JLabel lblVitB1TTlbl; JLabel lblVitB2TTlbl; JLabel lblVitB3TTlbl; JLabel lblVitB6TTlbl; JLabel lblVitB12TTlbl; JLabel lblVitCTTlbl; JLabel lblVitETTlbl; JLabel lblVitPPTTlbl; JLabel lblMinCaTTlbl; JLabel lblMinNaTTlbl; JLabel lblMinSTTlbl; JLabel lblMinPTTlbl; JLabel lblMinJTTlbl; /*end*/ StringTableModel tblmdlLentele; StringComboBoxModel cmbbxmdlTaste; StringComboBoxModel cmbbxmdlProteinsW; StringComboBoxModel cmbbxmdlfatsW; StringComboBoxModel cmbbxmdlCarbohydratesW; StringComboBoxModel cmbbxmdlCaloriesW; LineBorder lineBorder1; StringTableModel tblmdlRezultatai; StringComboBoxModel cmbbxmdlOptimize; StringComboBoxModel cmbbxmdlBias; JLabel lblStatus; StringComboBoxModel cmbbxmdlITaste; StringComboBoxModel cmbbxmdlIPrice; StringComboBoxModel cmbbxmdlImportance; // NAUJI COMBOBOXAI private javax.swing.JTextField ReikiaAngl; private javax.swing.JTextField ReikiaBalt; private javax.swing.JTextField ReikiaFosf; private javax.swing.JTextField ReikiaKal; private javax.swing.JTextField ReikiaKalc; private javax.swing.JTextField ReikiaNatr; private javax.swing.JTextField ReikiaRieb; private javax.swing.JTextField ReikiaSer; private javax.swing.JTextField ReikiaJ; private javax.swing.JTextField ReikiaVitA; private javax.swing.JTextField ReikiaVitB1; private javax.swing.JTextField ReikiaVitB2; private javax.swing.JTextField ReikiaVitB3; private javax.swing.JTextField ReikiaVitB6; private javax.swing.JTextField ReikiaVitB12; private javax.swing.JTextField ReikiaVitC; private javax.swing.JTextField ReikiaVitE; private javax.swing.JTextField ReikiaVitPP; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel8; private javax.swing.JLabel jLabel9; private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel11; private javax.swing.JLabel jLabel12; private javax.swing.JLabel jLabel13; private javax.swing.JLabel jLabel14; private javax.swing.JLabel jLabel15; private javax.swing.JLabel jLabel16; private javax.swing.JLabel jLabel17; private javax.swing.JLabel jLabel18; private javax.swing.JLabel jLabel19;//marijus private javax.swing.JLabel jLabel20;//marijus private javax.swing.JLabel jLabel21;//marijus private javax.swing.JLabel jLabel22;//marijus private javax.swing.JLabel jLabe20; private javax.swing.JTabbedPane jTabbedPane1; /*nauji Marijus*/ JLabel JLabelAddOnTaste; JComboBox cmbbxIAddTaste; /******************************************************************************* * * Privacios klases manipuliacijai su applet objekto elementais * *******************************************************************************/ class SymItem implements ItemListener { public void itemStateChanged(ItemEvent event) { Object object = event.getSource(); if(object == cmbbxOptimization) cmbbxOptimization_itemStateChanged(event); } SymItem() { } } /*------------------------------------------------------------*/ class SymAction implements ActionListener { public void actionPerformed(ActionEvent event) { Object object = event.getSource(); if(object == btnLoad) btnLoad_actionPerformed(event); else if(object == btnNext2) btnNext2_actionPerformed(event); if(object == btnNext1) btnNext1_actionPerformed(event); else if(object == btnOK) btnOK_actionPerformed(event); else if(object == btnNew) btnNew_actionPerformed(event); else if(object == btnUpdate) btnUpdate_actionPerformed(event); else if(object == btnDelete) btnDelete_actionPerformed(event); } SymAction() { } } /*------------------------------------------------------------*/ class SymMouse extends MouseAdapter { public void mouseClicked(MouseEvent event) { Object object = event.getSource(); if(object == tblLentele) tblLentele_mouseClicked(event); } SymMouse() { } } /******************************************************************************* * Metodai: darbas su duomenimis ******************************************************************************/ /* ------------------------------------ * metodas Clear isvalo duomenu laukus * ------------------------------------ */ void Clear() { txtfldName.setText(""); txtfldPrice.setText(""); txtfldCalories.setText(""); txtfldProteins.setText(""); txtfldFats.setText(""); txtfldCarbohydrates.setText(""); txtfldVitaminC.setText(""); txtfldVitaminA.setText(""); txtfldMineralCa.setText(""); txtfldMineralNa.setText(""); txtfldVitaB2.setText(""); txtfldVitaB3.setText(""); txtfldVitaB6.setText(""); txtfldVitaB12.setText(""); txtfldMCA.setText(""); txtfldMNa.setText(""); txtfldMS.setText(""); txtfldVitaPP.setText(""); txtfldMP.setText(""); txtfldMJ.setText(""); cmbbxTaste.setSelectedIndex(-1); chkbxDish.setSelected(false); } /* ------------------------------------ * metodas btnDelete_actionPerformed * istrina viena eilute is duomenu lenteles * ------------------------------------ */ void btnDelete_actionPerformed(ActionEvent event) { int nr = tblLentele.getSelectedRow(); tblmdlLentele.removeRow(nr); Clear(); } /* ------------------------------------ * metodas btnLoad_actionPerformed * atidaro duomenu faila ir jo duomenis * atvaizduoja ekrane * ------------------------------------ */ void btnLoad_actionPerformed(ActionEvent event) { D.show(); URL fileURL = null; BufferedReader dataStream = null; int n = 0; try { fileURL = new URL(String.valueOf(getCodeBase()) + failas); } catch(MalformedURLException _ex) { } try { java.io.InputStream input = fileURL.openStream(); dataStream = new BufferedReader(new InputStreamReader(input)); lblStatus.setText("File " + fileURL.toString() + " opened"); } catch(IOException _ex) { lblStatus.setText("Error opening file: " + fileURL.toString()); } try { String s = dataStream.readLine(); Integer sk = new Integer(s); n = sk.intValue(); } catch(IOException _ex) { lblStatus.setText("1 Wrong data file."); } String strduom[] = new String[n]; try { for(int i = 0; i < n; i++) strduom[i] = dataStream.readLine(); tblmdlLentele.setItems(strduom); } catch(IOException _ex) { lblStatus.setText("2 Wrong data file."); } try { dataStream.close(); } catch(IOException _ex) { lblStatus.setText("File closing failure."); } } /* ------------------------------------ * metodas btnNew_actionPerformed * iveda nauja produkta/patiekala i * duomenu lentele * ------------------------------------ */ void btnNew_actionPerformed(ActionEvent event) { String temp[] = new String[1]; try { String tmpPatiekalas; if(chkbxDish.isSelected()) tmpPatiekalas = "1"; else tmpPatiekalas="0"; /****************************************************************************** *CIA(ZEMIAU) REIKIA SUSUMUOTI VISUS ELEMENTUS IS TEXBOKSU TIKSLIA TVARKA !!! *EILE(TVARKA) TOKIA : * PRODUKAS,BALTYMAI(PROTEISNS),RIEBALAI(FATS), ANGLIAVANDENIAI(CARBOHYDRAUTES), * KALORIJOS,A,E,C,B1,B2,B3,B6,B12,PP,CA,NA,S,FTOR(P),J(JODAS),VAIZDAS, * PATIEKALAS,KAINA. * Patiekas pridedamas taip : ... + "," + tmpPatiekalas + ","+... **Marijus: BUVO pamirsta prideti patiekalo pozymi :)) *******************************************************************************/ temp[0] = txtfldName.getText() + "," + txtfldProteins.getText() + "," + txtfldFats.getText() + "," + txtfldCarbohydrates.getText() + "," + txtfldCalories.getText() + "," + txtfldVitaminC.getText() + "," + txtfldVitaminA.getText() + "," + txtfldMineralCa.getText() + "," + txtfldMineralNa.getText() + "," + txtfldVitaB2.getText() + "," + txtfldVitaB3.getText() + "," + txtfldVitaB6.getText() + "," + txtfldVitaB12.getText() + "," + txtfldVitaPP.getText() + "," + txtfldMCA.getText() + "," + txtfldMNa.getText() + "," + txtfldMS.getText() + "," + txtfldMP.getText() + "," + txtfldMJ.getText() + "," + cmbbxTaste.getSelectedItem().toString() + "," + /*Patiekalas*/ tmpPatiekalas.toString() + "," + txtfldPrice.getText(); if(tblLentele.getRowCount() == 1) tblmdlLentele.setItems(temp); else tblmdlLentele.addRow(temp[0]); Clear(); } catch(NullPointerException _ex) { lblStatus.setText("Please enter all product fields!!!"); } } /* ------------------------------------ * metodas btnNext1_actionPerformed * Atlieka veiksma "Toliau" * 1. is duomenu ivedimo lango eina i * optimizavimo parametru nustatymo langa * ------------------------------------ */ void btnNext1_actionPerformed(ActionEvent event) { formProduct(tblmdlLentele); if(productCount == 0) lblStatus.setText("No data"); else if(!duomenuKlaida) { lblStatus.setText(""); pnlPageidavimai.setEnabled(true); tbdpnlBendras.setSelectedIndex(1); } else { lblStatus.setText("Wrong data."); } } /* ---------------------------------------------------- * Metodas SetProdOnTaste() suformuoja sarasa produktu * kuriu skonis yra didesnis arba 2 dydziais mazesnis * negu pasirinktas skaiciavimams * ----------------------------------------------------*/ void SetProdOnTaste() { // productCount >0 (pries kreipiantis buvo patikrinta //atrenka produktus pagal skonio faktorius int j=0; int sv=cmbbxIAddTaste.getSelectedIndex(); int sv1=0; float sko=0; if (sv==0) {sv1=sv;} //jei skonis nevertinamas maksimalus skonio reiksme else if (sv==10){sv1=8;} //jei skonis max, sumazinam 2 else {sv1=sv;}; //kitu atveju imam koks ivestas activProdCnt=0; for(int i = 0; i < productCount; i++){ sko=produktai[i].getTaste(); //gauk skoni if(sko>=sv1)//ivedam tik tuos jei skonis mus tenkina, { j++; produktai1[j-1] = new Product(); produktai1[j-1] =produktai[i]; }//if }//for //******pabaiga******************* if (j!=0){ activProdCnt=j; //produktu skaicius kurie itraukiami i skaiciavimus prodActiv=new Product[activProdCnt]; for (int i=0; i < activProdCnt; i++){ prodActiv[i]= new Product(); prodActiv[i]=produktai1[i]; } } } /* ------------------------------------ * metodas btnNext_actionPerformed * Atlieka veiksma "Toliau" * 2. is nustatymo langu kreipiasi i * optimizacija ir atlieka veiksmus * bei gauna rezultatus * ------------------------------------ */ void btnNext2_actionPerformed(ActionEvent event) { if(productCount == 0) { lblStatus.setText("No data"); tbdpnlBendras.setSelectedIndex(0); } else { produktai1 = new Product[productCount]; SetProdOnTaste(); if(activProdCnt==0){ // lblStatus.setText("Su pasirinktu skoniu (-2) produktu nerasta"); tbdpnlBendras.setSelectedIndex(0); }else{ //int optimize = cmbbxOptimization.getSelectedIndex(); /*bias - grozio ytaka*/ double bias =(cmbbxImportance.getSelectedIndex());/*neaisku ka cia daro*/ double weight = Double.valueOf(txtfldWeight.getText()).doubleValue(); solve lpSolve = new solve(); lprec lpRec = new lprec(0, activProdCnt); /*suformuojam sarasa kur pas mus tik sveiki skaiciai - patiekalai*/ short kl = 1; for(int i = 0; i < activProdCnt; i++) if(prodActiv[i].getDish() == 1) lpSolve.set_int(lpRec, i + 1, kl); /*apribojimu suformavimas*/ /* BALTYMAI,RIEBALAI, ANGLIAVANDENIAI,KALORIJOS,A,E,C,B1,B2,B3,B6,B12, * PP,CA,NA,S,FTOR(P),J(JODAS),VAIZDAS,KAINA. */ double data[] = new double[activProdCnt + 1]; double Cal = Double.valueOf(ReikiaKal.getText()).doubleValue(); double Fat = Double.valueOf(ReikiaRieb.getText()).doubleValue(); double Pro = Double.valueOf(ReikiaBalt.getText()).doubleValue(); double Car = Double.valueOf(ReikiaAngl.getText()).doubleValue(); double VitC = Double.valueOf(ReikiaVitC.getText()).doubleValue(); double VitA = Double.valueOf(ReikiaVitA.getText()).doubleValue(); double MinCa = Double.valueOf(ReikiaKalc.getText()).doubleValue(); double MinNa = Double.valueOf(ReikiaNatr.getText()).doubleValue(); //Mg=Na pas mumis(Marijus:todel pakeiciau pavadinima) //Nauji constraints double VitE = Double.valueOf(ReikiaVitE.getText()).doubleValue(); double VitB1 = Double.valueOf(ReikiaVitB1.getText()).doubleValue(); double VitB2 = Double.valueOf(ReikiaVitB2.getText()).doubleValue(); double VitB3 = Double.valueOf(ReikiaVitB3.getText()).doubleValue(); double VitB6 = Double.valueOf(ReikiaVitB6.getText()).doubleValue(); double VitB12 = Double.valueOf(ReikiaVitB12.getText()).doubleValue(); double VitPP = Double.valueOf(ReikiaVitPP.getText()).doubleValue(); double Fosf = Double.valueOf(ReikiaFosf.getText()).doubleValue(); double Siera = Double.valueOf(ReikiaSer.getText()).doubleValue(); double J = Double.valueOf(ReikiaJ.getText()).doubleValue(); double BeautyFactor =cmbbxImportance.getSelectedIndex(); double Paklaida =0.1;//-0.1; //double C; double X; double rhs; /*Optimizuojama pagal kaina, ribojimus nusako kalorijos (ju skaiciu galima keisti *pagal "grozio" faktoriu), baltymai,riebalai ir kt. *---------------------------------------------------- *skonio faktorius veikia kaina 10%, juo didesnis skonis tuo daugiau * norima uz preke moketi, t.y. kaina mazeja didejant skoniui * tikslo funkcija: minx->(sum(ci-si)xi + g(sum(ai1*xi)-b1) * tikslo f-ja xi atzvilgiu: minx->(sum((ci-si+g*ai1)xi-g*b1) * kur ci - produkto kg/vnt kaina, si - skonio "kaina", g - grozio faktorius, * aij - kaloriju kiekis kg, b1 - kaloriju norma **/ double prieX; double Cval; /** tikslo f-ja xi: sum((ci-si+g*ai1)xi -g*bi) * is cia: xi=(g*b1)/(ci-si+g*ai1) * g*b1 - vienodas visiems, randame ji. ***/ Cval=weight*Cal+weight*Cal*BeautyFactor*0.1; for(int i = 0; i < activProdCnt; i++){ //90(84) formule vienam produktui /* grozio poveikis, laikant kad jis yra isreikstas procentaliai * todel dalinama is 100% (ty daugyba is 0.1) * procentu kitimo zingsnis - 10 *-------------------------------------------------------------*/ prieX= prodActiv[i].price - prodActiv[i].price*prodActiv[i].Taste*0.1 + BeautyFactor*0.1*prodActiv[i].calories; data[i + 1]= Cval/prieX; } lpSolve.set_obj_fn(lpRec, data); lpSolve.set_minim(lpRec); /*suvienodiname dimensijas tarp sitemoje esanciu reiksmiu ir to ka skaiciuosime*/ /* Reikalaujamos normos 1kg zmogaus mases, todel perskaiciuojame min */ /* apribojimus sudarome su "paklaidos" nukrypimu nuo min ir max*/ /*Calories*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].getCalories(); rhs = (Cal - Cal*Paklaida) * weight; lpSolve.add_constraint(lpRec, data, GE, rhs); rhs = (Cal + Cal*Paklaida) * weight; lpSolve.add_constraint(lpRec, data, LE, rhs); /*Proteins*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].getProteins(); rhs = (Pro -Pro*Paklaida)* weight; lpSolve.add_constraint(lpRec, data, GE, rhs); rhs = (Pro + Pro *Paklaida) * weight; lpSolve.add_constraint(lpRec, data, LE, rhs); /*Fats*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].getFats(); rhs = (Fat - Fat * Paklaida)*weight; lpSolve.add_constraint(lpRec, data, GE, rhs); rhs = (Fat + Fat * Paklaida) * weight; lpSolve.add_constraint(lpRec, data, LE, rhs); /*Carbohydrates*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].getCarbohydrates(); rhs = (Car -Car * Paklaida)* weight; lpSolve.add_constraint(lpRec, data, GE, rhs); rhs = (Car + Car * Paklaida) * weight; lpSolve.add_constraint(lpRec, data, LE, rhs); /*mikroelementai ir vitaminai pateikiami fiksuota dienos norma zmogui*/ /*vit A*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].getVitA(); rhs = VitA - VitA * Paklaida; lpSolve.add_constraint(lpRec, data, GE, rhs); rhs = VitA + VitA * Paklaida; lpSolve.add_constraint(lpRec, data, LE, rhs); /*vit B1*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].vitB1; rhs = VitB1 - VitB1 * Paklaida; lpSolve.add_constraint(lpRec, data, GE, rhs); rhs = VitB1 + VitB1 * Paklaida; lpSolve.add_constraint(lpRec, data, LE, rhs); /*vit B2*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].vitB2; rhs = VitB2 - VitB2 * Paklaida; lpSolve.add_constraint(lpRec, data, GE, rhs); rhs = VitB2 + VitB2 * Paklaida; lpSolve.add_constraint(lpRec, data, LE, rhs); /*vit B3*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].vitB3; rhs = VitB3 - VitB3 * Paklaida; lpSolve.add_constraint(lpRec, data, GE, rhs); rhs = VitB3 + VitB3 * Paklaida; lpSolve.add_constraint(lpRec, data, LE, rhs); /*vit B6*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].vitB6; rhs = VitB6 - VitB6 * Paklaida; lpSolve.add_constraint(lpRec, data, GE, rhs); rhs = VitB6 + VitB6 * Paklaida; lpSolve.add_constraint(lpRec, data, LE, rhs); /*vit B12*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].vitB12; rhs = VitB12 - VitB12 * Paklaida; lpSolve.add_constraint(lpRec, data, GE, rhs); rhs = VitB12 + VitB12 * Paklaida; lpSolve.add_constraint(lpRec, data, LE, rhs); /*vit C*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].getVitC(); rhs = VitC - VitC * Paklaida; lpSolve.add_constraint(lpRec, data, GE, rhs); /*vit E*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].vitE; rhs = VitE - VitE * Paklaida; lpSolve.add_constraint(lpRec, data, GE, rhs); /*vit PP*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].vitPP; rhs = VitPP - VitPP * Paklaida; lpSolve.add_constraint(lpRec, data, GE, rhs); /*mikrel Ca*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].getMinCa(); rhs = MinCa - MinCa * Paklaida; lpSolve.add_constraint(lpRec, data, GE, rhs); rhs = MinCa + MinCa * Paklaida; lpSolve.add_constraint(lpRec, data, LE, rhs); /*mikrel Na*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].getMinNa();//Is tiesu cia Na (Marijus: pakeiciau pavadinima Mg->Na) rhs = MinNa - MinNa * Paklaida; lpSolve.add_constraint(lpRec, data, GE, rhs); /*mikrel S*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].minS; rhs = Siera - Siera * Paklaida; lpSolve.add_constraint(lpRec, data, GE, rhs); rhs = Siera + Siera * Paklaida; lpSolve.add_constraint(lpRec, data, GE, rhs); /*mikrel P*/ for(int i = 0; i < activProdCnt; i++) data[i + 1] = prodActiv[i].minP; rhs = Fosf - Fosf * Paklaida; lpSolve.add_constraint(lpRec, data, GE, rhs); /************ Solve problem *******************/ int rez = lpSolve.solve(lpRec); if(rez == 0) { lblStatus.setText("Optimali dieta rasta"); double nn = 0; int sk = 0; for(int i = 1; i <= lpSolve.get_lpcolumns(lpRec); i++) if(lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) != nn) sk++; String rezai[] = new String[sk]; double sumcal = 0.0D; double sumpro = 0.0D; double sumfat = 0.0D; double sumcar = 0.0D; int nr = 0; double sumak = 0.0D; double sumagr = 0.0D; double sumask = 0.0D; double sumakv = 0.0D; double mase=0; VitC=VitA=MinCa=MinNa=VitE=VitB1=VitB2=VitB3=VitB6=VitB12=VitPP=Fosf=Siera=J=0.0; for(int i = 1; i <= lpSolve.get_lpcolumns(lpRec); i++) if(lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) != nn) { rezai[nr] = produktai[i - 1].getName() + "," + Double.toString(lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i)); if((lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) > 0.5+Paklaida)) { lblStatus.setForeground(new java.awt.Color(204, 102, 0)); lblStatus.setText("DEMESIO: virsijote rekomenduojama paros norma");/*Marijus: Pakeiciau warnin i normalia zinute*/ } sumcal += lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getCalories(); sumpro += lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getProteins(); sumfat += lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getFats(); sumcar += lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getCarbohydrates(); sumak += lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getPrice(); sumagr += lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getTaste(); VitC += lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getVitC(); VitA += lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getVitA(); MinCa+= lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getMinCa(); MinNa+= lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getMinNa(); VitE+= lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getVitE(); VitB1+= lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getVitB1(); VitB2+= lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getVitB2(); VitB3+= lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getVitB3(); VitB6+= lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getVitB6(); VitB12+= lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getVitB12(); VitPP+= lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getVitPP(); Fosf+= lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getMinP(); Siera+= lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getMinS(); J+= lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i) * (double)produktai[i - 1].getMinJ(); nr++; mase+=lpSolve.get_lpsolution(lpRec, lpSolve.get_lprows(lpRec) + i); }/*if get solution outerr*/ tblmdlRezultatai.setItems(rezai); String s = ""; lblCaloriesTotal.setText(Double.toString(sumcal)); lblProteinsTotal.setText(Double.toString(sumpro)); lblFatsTotal.setText(Double.toString(sumfat)); lblCarbohydratesTotal.setText(Double.toString(sumcar)); lblPriceTotal.setText(Double.toString(sumak)); lblVitATotal.setText(Double.toString(VitA)); lblVitB1Total.setText(Double.toString(VitB1)); lblVitB2Total.setText(Double.toString(VitB2)); lblVitB3Total.setText(Double.toString(VitB3)); lblVitB6Total.setText(Double.toString(VitB6)); lblVitB12Total.setText(Double.toString(VitB12)); lblVitCTotal.setText(Double.toString(VitC)); lblVitETotal.setText(Double.toString(VitE)); lblVitPPTotal.setText(Double.toString(VitPP)); lblMinCaTotal.setText(Double.toString(MinCa)); lblMinNaTotal.setText(Double.toString(MinNa)); lblMinSTotal.setText(Double.toString(Siera)); lblMinPTotal.setText(Double.toString(Fosf)); lblMinJTotal.setText(Double.toString(J)); } else { String tuscias[] = new String[0]; tblmdlRezultatai.setItems(tuscias); lblCaloriesTotal.setText(""); lblProteinsTotal.setText(""); lblFatsTotal.setText(""); lblCarbohydratesTotal.setText(""); lblPriceTotal.setText(""); lblVitATotal.setText(""); lblVitB1Total.setText(""); lblVitB2Total.setText(""); lblVitCTotal.setText(""); lblVitB3Total.setText(""); lblVitETotal.setText(""); lblVitB6Total.setText(""); lblVitPPTotal.setText(""); lblVitB12Total.setText("");lblMinCaTotal.setText(""); lblMinNaTotal.setText(""); lblMinSTotal.setText(""); lblMinPTotal.setText(""); lblMinJTotal.setText(""); lblStatus.setText("Neimanoma patenkinti sanitariniu normu !!!"); } pnlRezultatai.setEnabled(true); tbdpnlBendras.setSelectedIndex(2); }} } /* ------------------------------------ * metodas btnOK_actionPerformed * Priskiria duomenu failo nuoroda(handle) * ------------------------------------ */ void btnOK_actionPerformed(ActionEvent event) { failas = txtfldFailas.getText(); D.dispose(); } /* ------------------------------------ * metodas btnUpdate_actionPerformed * Atnaujina egzistuojanti patiekala * Istrina is lenteles ir iraso i gala * su pakeistais duomenimis * ------------------------------------ */ void btnUpdate_actionPerformed(ActionEvent event) { String tmpPatiekalas; if(chkbxDish.isSelected()) tmpPatiekalas = "1"; else tmpPatiekalas="0"; int nr = tblLentele.getSelectedRow(); tblmdlLentele.removeRow(nr); /****************************************************************************** *CIA(ZEMIAU) REIKIA SUSUMUOTI VISUS ELEMENTUS IS TEXBOKSU TIKSLIA TVARKA !!! * EILE(TVARKA) TOKIA : * PRODUKAS,BALTYMAI(PROTEISNS),RIEBALAI(FATS), ANGLIAVANDENIAI(CARBOHYDRAUTES), * KALORIJOS,A,E,C,B1,B2,B3,B6,B12,PP,CA,NA,S,FTOR(P), J(JODAS),VAIZDAS, * PATIEKALAS,KAINA. * Patiekas pridedamas taip : ... + "," + tmpPatiekalas + ","+... *****************************************************************************/ String temp = txtfldName.getText() + "," + txtfldProteins.getText() + "," + txtfldFats.getText() + "," + txtfldCarbohydrates.getText() + "," + txtfldCalories.getText() + "," + txtfldVitaminC.getText() + "," + txtfldVitaminA.getText() + "," + txtfldMineralCa.getText() + "," + txtfldMineralNa.getText() + "," + txtfldVitaB2.getText() + "," + txtfldVitaB3.getText() + "," + txtfldVitaB6.getText() + "," + txtfldVitaB12.getText() + "," + txtfldVitaPP.getText() + "," + txtfldMCA.getText() + "," + txtfldMNa.getText() + "," + txtfldMS.getText() + "," + txtfldMP.getText() + "," + txtfldMJ.getText() + "," + cmbbxTaste.getSelectedItem().toString() + "," + /*Patiekalas*/ tmpPatiekalas.toString() + "," + txtfldPrice.getText(); tblmdlLentele.addRow(temp); Clear(); } /* ------------------------------------ * metodas cmbbxOptimization_itemStateChanged * Neaiskus metodas. Tikriausiai buvo * anksciau naudojamas identifikuoti * pasikeitusiems duomenims bet dabar * neturi prasmes(?) * ------------------------------------ */ void cmbbxOptimization_itemStateChanged(ItemEvent itemevent) { } /* ------------------------------------ * metodas formProduct * Suformuoja produkto objekta su visais * jam priklausanciais duomenimis * Perskaiciuoja duomenis vienam produkto * kilogramui jei tai ne patiekalas * ------------------------------------ */ void formProduct(StringTableModel model) { duomenuKlaida = false; String temp = ""; productCount = model.getRowCount(); produktai = new Product[productCount]; int j;float dg; for(int i = 0; i < productCount; i++) { /****************************************************************************** * EILE(TVARKA) TOKIA : * PRODUKAS,BALTYMAI,RIEBALAI, ANGLIAVANDENIAI,KALORIJOS,A,E,C,B1,B2,B3,B6,B12, * PP,CA,NA,S,FTOR(P), J(JODAS),VAIZDAS,PATIEKALAS,KAINA. *****************************************************************************/ produktai[i] = new Product(); produktai[i].setName(model.getElementAt(i, 0).toString()); j=i+1; try { temp = model.getElementAt(i, 20).toString(); Integer vv = Integer.valueOf(temp); if(vv.intValue() == 0 || vv.intValue() == 1) { produktai[i].setDish(vv.intValue()); } else { duomenuKlaida = true; break; } if (produktai[i].getDish()==0){ dg=10; }else { dg=1; } /*suvedame produktus perskaiciuodami ju dedamasias kilograme JEI TAI NE PATIEKALAS*/ temp = model.getElementAt(i, 1).toString(); Float v = Float.valueOf(temp); produktai[i].proteins=dg*v.floatValue(); temp = model.getElementAt(i, 2).toString(); v = Float.valueOf(temp); produktai[i].fats=dg*v.floatValue(); temp = model.getElementAt(i, 3).toString(); v = Float.valueOf(temp); produktai[i].carbohydrates=dg*v.floatValue(); temp = model.getElementAt(i, 4).toString(); v = Float.valueOf(temp); produktai[i].calories=dg*v.floatValue(); temp = model.getElementAt(i, 5).toString(); v = Float.valueOf(temp); produktai[i].vitA=dg*v.floatValue(); temp = model.getElementAt(i, 6).toString(); v = Float.valueOf(temp); produktai[i].vitE=dg*v.floatValue(); temp = model.getElementAt(i, 7).toString(); v = Float.valueOf(temp); produktai[i].vitC=dg*v.floatValue(); temp = model.getElementAt(i, 8).toString(); v = Float.valueOf(temp); produktai[i].vitB1=dg*v.floatValue(); temp = model.getElementAt(i, 9).toString(); v = Float.valueOf(temp); produktai[i].vitB2=dg*v.floatValue(); temp = model.getElementAt(i, 10).toString(); v = Float.valueOf(temp); produktai[i].vitB3=dg*v.floatValue(); temp = model.getElementAt(i, 11).toString(); v = Float.valueOf(temp); produktai[i].vitB6=dg*v.floatValue(); temp = model.getElementAt(i, 12).toString(); v = Float.valueOf(temp); produktai[i].vitB12=dg*v.floatValue(); temp = model.getElementAt(i, 13).toString(); v = Float.valueOf(temp); produktai[i].vitPP=dg*v.floatValue(); temp = model.getElementAt(i, 14).toString(); v = Float.valueOf(temp); produktai[i].minCa=dg*v.floatValue(); temp = model.getElementAt(i, 15).toString(); v = Float.valueOf(temp); produktai[i].minNa=dg*v.floatValue();/*Marijus : Mg->Na*/ temp = model.getElementAt(i, 16).toString(); v = Float.valueOf(temp); produktai[i].minS=dg*v.floatValue(); temp = model.getElementAt(i, 17).toString(); v = Float.valueOf(temp); produktai[i].minP=dg*v.floatValue();/*Marijus : F->P*/ temp = model.getElementAt(i, 18).toString(); v = Float.valueOf(temp); produktai[i].minJ=dg*v.floatValue(); temp = model.getElementAt(i, 21).toString(); v = Float.valueOf(temp); produktai[i].price=dg*v.floatValue(); temp = model.getElementAt(i, 19).toString(); v = Float.valueOf(temp); if(v.floatValue() > 0.0F && v.floatValue() < 11F) { produktai[i].setTaste(v.floatValue()); continue; } else { duomenuKlaida = true; break; } } catch(NumberFormatException _ex) { lblStatus.setText("Wrong data file.Error: " +_ex.toString()+"Eror data line: "+j); duomenuKlaida = true; } break; } } /* ------------------------------------ * metodas init * Inicijuoja apleta, paruosia pradinius * laukus ir duomenis, "nupiesia" appleto * elementus * ------------------------------------ */ public void init() { productCount = 0; txtfldVitaB2 = new JTextField(); txtfldVitaB3 = new JTextField(); txtfldVitaB6 = new JTextField(); txtfldVitaB12 = new JTextField(); txtfldVitaPP = new JTextField(); txtfldMCA = new JTextField(); txtfldMNa = new JTextField(); txtfldMS = new JTextField(); txtfldMP = new JTextField(); txtfldMJ = new JTextField(); JLabelB22 = new JLabel(); JLabelB33 = new JLabel(); JLabelB66=new JLabel(); //Natali JLabelB122=new JLabel();//Natali JLabelPP=new JLabel();//Natali JLabelCa2=new JLabel();//Natali JLabelNa2=new JLabel(); //Natali JLabelS2=new JLabel();//Natali JLabelP2=new JLabel();//Natali JLabelJ2=new JLabel();//Natali duomenuKlaida = false; failas = "duom"; D = new JDialog(); lblFailas = new JLabel("Iveskite duomenu failo varda"); txtfldFailas = new JTextField("duom"); btnOK = new JButton("OK"); tbdpnlBendras = new JTabbedPane(); pnlDuomenys = new JPanel(); scrlpnLentele = new JScrollPane(); tblLentele = new JTable(); lblLentelesPav = new JLabel(); lblRedagavimas = new JLabel(); lblName = new JLabel(); txtfldName = new JTextField(); lblPrice = new JLabel(); txtfldPrice = new JTextField(); lblCalories = new JLabel(); txtfldCalories = new JTextField(); lblProteins = new JLabel(); txtfldProteins = new JTextField(); lblFats = new JLabel(); txtfldFats = new JTextField(); lblCarbohydrates = new JLabel(); txtfldCarbohydrates = new JTextField(); lblTaste = new JLabel(); cmbbxTaste = new JComboBox(); btnLoad = new JButton(); btnNew = new JButton(); btnUpdate = new JButton(); btnNext1 = new JButton(); btnDelete = new JButton(); chkbxDish = new JCheckBox(); lblDish = new JLabel(); JLabel5 = new JLabel(); JLabel6 = new JLabel(); JLabel7 = new JLabel(); JLabel8 = new JLabel(); txtfldVitaminC = new JTextField(); txtfldVitaminA = new JTextField(); txtfldMineralCa = new JTextField(); txtfldMineralNa = new JTextField(); pnlPageidavimai = new JPanel(); txtfldWeight = new JTextField(); lblWeight = new JLabel(); btnNext2 = new JButton(); cmbbxOptimization = new JComboBox(); lblOptimization = new JLabel(); //NEED // 2 panel - kur ko reikia initComponents(); //NEED END lblImportance = new JLabel(); cmbbxImportance = new JComboBox(); JLabel9 = new JLabel(); JLabel10 = new JLabel(); JLabel11 = new JLabel(); JLabel12 = new JLabel(); JLabel13 = new JLabel(); JLabel14 = new JLabel(); JLabel15 = new JLabel(); pnlRezultatai = new JPanel(); JScrollPane1 = new JScrollPane(); JTable1 = new JTable(); JLabel1 = new JLabel(); JLabel2 = new JLabel(); JLabel3 = new JLabel(); JLabel4 = new JLabel(); lblCaloriesTotal = new JLabel(); lblProteinsTotal = new JLabel(); lblFatsTotal = new JLabel(); lblCarbohydratesTotal = new JLabel(); tblmdlLentele = new StringTableModel(); cmbbxmdlTaste = new StringComboBoxModel(); cmbbxmdlTaste = new StringComboBoxModel(); cmbbxmdlProteinsW = new StringComboBoxModel(); cmbbxmdlfatsW = new StringComboBoxModel(); cmbbxmdlCarbohydratesW = new StringComboBoxModel(); cmbbxmdlCaloriesW = new StringComboBoxModel(); lineBorder1 = new LineBorder(); tblmdlRezultatai = new StringTableModel(); cmbbxmdlOptimize = new StringComboBoxModel(); cmbbxmdlBias = new StringComboBoxModel(); lblStatus = new JLabel(); cmbbxmdlITaste = new StringComboBoxModel(); cmbbxmdlITaste = new StringComboBoxModel(); cmbbxmdlIPrice = new StringComboBoxModel(); cmbbxmdlImportance = new StringComboBoxModel(); //Marijus - nauji cmbbxIAddTaste = new JComboBox(); JLabelAddOnTaste = new JLabel(); //end Marijus //NAUJI LAUKAI jTabbedPane1 = new javax.swing.JTabbedPane(); //--------------------------------------------- Context.setApplet(this); getRootPane().putClientProperty("defeatSystemEventQueueCheck", Boolean.TRUE); getContentPane().setLayout(null); setSize(780, 650); getContentPane().add(tbdpnlBendras); tbdpnlBendras.setBounds(12, 12, 760, 560); pnlDuomenys.setLayout(null); tbdpnlBendras.add(pnlDuomenys); pnlDuomenys.setBounds(2, 27, 727, 474); pnlDuomenys.setVisible(false); scrlpnLentele.setVerticalScrollBarPolicy(22); scrlpnLentele.setHorizontalScrollBarPolicy(32); scrlpnLentele.setOpaque(true); pnlDuomenys.add(scrlpnLentele); scrlpnLentele.setBounds(10, 33, 708, 168); tblLentele.setModel(tblmdlLentele); scrlpnLentele.getViewport().add(tblLentele); tblLentele.setBounds(0, 0, 690, 0); lblLentelesPav.setText("Produktai"); pnlDuomenys.add(lblLentelesPav); lblLentelesPav.setBounds(10, 9, 200, 12); lblRedagavimas.setText("Duomenu apie produkta ivedimas"); pnlDuomenys.add(lblRedagavimas); lblRedagavimas.setBounds(20, 213, 300, 24); lblName.setText("Pavadinimas"); pnlDuomenys.add(lblName); lblName.setForeground(new Color(102, 102, 153)); lblName.setBounds(240, 249, 100, 24); pnlDuomenys.add(txtfldName); txtfldName.setBounds(320, 249, 130, 24); lblPrice.setText("Kaina"); pnlDuomenys.add(lblPrice); lblPrice.setBounds(22, 280, 100, 24); pnlDuomenys.add(txtfldPrice); txtfldPrice.setBounds(130, 280, 50, 24); lblCalories.setText("Kalorijos"); pnlDuomenys.add(lblCalories); lblCalories.setBounds(22, 370, 96, 24); pnlDuomenys.add(txtfldCalories); txtfldCalories.setBounds(130, 370, 50, 24); lblProteins.setText("Baltymai");/*Marijus: Lietuviu kaba :) ne baltimai bet baltymai*/ pnlDuomenys.add(lblProteins); lblProteins.setBounds(22, 310, 96, 24); pnlDuomenys.add(txtfldProteins); txtfldProteins.setBounds(130, 310, 50, 24); lblFats.setText("Riebalai"); pnlDuomenys.add(lblFats); lblFats.setBounds(22, 340, 96, 24); pnlDuomenys.add(txtfldFats); txtfldFats.setBounds(130, 340, 50, 24); lblCarbohydrates.setText("Angliavandeniai");/*Marijus: daugiskaita ne vienaskaita*/ pnlDuomenys.add(lblCarbohydrates); lblCarbohydrates.setBounds(22, 400, 96, 24); pnlDuomenys.add(txtfldCarbohydrates); txtfldCarbohydrates.setBounds(130, 400, 50, 24); lblTaste.setText("Skonis *"); pnlDuomenys.add(lblTaste); lblTaste.setBounds(530, 400, 110, 24); cmbbxTaste.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0","1", "2", "3", "4", "5", "6", "7", "8", "9", "10" })); pnlDuomenys.add(cmbbxTaste); cmbbxTaste.setBounds(620, 400, 50, 24); btnLoad.setText("Duomenu ivedimas is failo"); btnLoad.setActionCommand("Atidaryti faila"); pnlDuomenys.add(btnLoad); btnLoad.setBounds(10, 500, 200, 24); btnNew.setText("Naujas produktas"); btnNew.setActionCommand("Naujas produktas"); pnlDuomenys.add(btnNew); btnNew.setBounds(215, 500, 150, 24); btnUpdate.setText("Atnaujinti/Irasyti"); btnUpdate.setActionCommand("Atnaujinti produkta"); pnlDuomenys.add(btnUpdate); btnUpdate.setBounds(370, 500, 150, 24); btnNext1.setText("Toliau >>"); btnNext1.setActionCommand("Toliau >>"); pnlDuomenys.add(btnNext1); btnNext1.setBounds(664, 500, 85, 23); btnDelete.setText("Istrinti produkta"); btnDelete.setActionCommand("Istrinti produkta"); pnlDuomenys.add(btnDelete); btnDelete.setBounds(527, 500, 132, 24); pnlDuomenys.add(chkbxDish); chkbxDish.setForeground(new Color(102, 102, 153)); chkbxDish.setBounds(340, 450, 72, 19); lblDish.setText("Patiekalas ?"); pnlDuomenys.add(lblDish); lblDish.setBounds(240, 450, 90, 19); JLabel5.setText("Vitaminas A"); pnlDuomenys.add(JLabel5); JLabel5.setBounds(210, 280, 98, 26); JLabel6.setText("Vitaminas E"); pnlDuomenys.add(JLabel6); JLabel6.setBounds(210, 310, 100, 25); JLabel7.setText("Vitaminas C"); pnlDuomenys.add(JLabel7); JLabel7.setBounds(210, 340, 107, 26); JLabel8.setText("Vitaminas B1"); pnlDuomenys.add(JLabel8); JLabel8.setBounds(210, 370, 99, 27); pnlDuomenys.add(txtfldVitaminC); txtfldVitaminC.setBounds(300, 280, 50, 24); pnlDuomenys.add(txtfldVitaminA); txtfldVitaminA.setBounds(300, 310, 50, 24); pnlDuomenys.add(txtfldMineralCa); txtfldMineralCa.setBounds(300, 340, 50, 24); pnlDuomenys.add(txtfldMineralNa); txtfldMineralNa.setBounds(300, 370, 50, 24); JLabelB22.setText("Vitaminas B2"); pnlDuomenys.add(JLabelB22); JLabelB22.setBounds(210, 400, 98, 26); JLabelB33.setText("Vitaminas B3"); pnlDuomenys.add(JLabelB33); JLabelB33.setBounds(370, 280, 100, 25); JLabelB66.setText("Vitaminas B6"); pnlDuomenys.add(JLabelB66); JLabelB66.setBounds(370, 310, 107, 26); JLabelB122.setText("Vitaminas B12"); pnlDuomenys.add(JLabelB122); JLabelB122.setBounds(370, 340, 99, 27); pnlDuomenys.add(txtfldVitaB2); txtfldVitaB2.setBounds(300, 400, 50, 24); pnlDuomenys.add(txtfldVitaB3); txtfldVitaB3.setBounds(460, 280, 50, 24); pnlDuomenys.add(txtfldVitaB6); txtfldVitaB6.setBounds(460, 310, 50, 24); pnlDuomenys.add(txtfldVitaB12); txtfldVitaB12.setBounds(460, 340, 50, 24); JLabelPP.setText("Vitaminas PP"); pnlDuomenys.add(JLabelPP); JLabelPP.setBounds(370, 370, 98, 26); /*Marijus: Mikroelementas korektiskesnis pavadinimas negu mineralas*/ JLabelCa2.setText("Mikroel. Ca"); pnlDuomenys.add(JLabelCa2); JLabelCa2.setBounds(370, 400, 100, 25); JLabelNa2.setText("Mikroel. Na"); pnlDuomenys.add(JLabelNa2); JLabelNa2.setBounds(530, 280, 107, 26); JLabelS2.setText("Mikroel. S"); pnlDuomenys.add(JLabelS2); JLabelS2.setBounds(530, 310, 99, 27); pnlDuomenys.add(txtfldVitaPP); txtfldVitaPP.setBounds(460,370, 50, 24); pnlDuomenys.add(txtfldMCA); txtfldMCA.setBounds(460, 400, 50, 24); pnlDuomenys.add(txtfldMNa); txtfldMNa.setBounds(620, 280, 50, 24); pnlDuomenys.add(txtfldMS); txtfldMS.setBounds(620, 310, 50, 24); JLabelP2.setText("Mikroel. P"); pnlDuomenys.add(JLabelP2); JLabelP2.setBounds(530, 340, 98, 26); JLabelJ2.setText("Mikroel. J"); pnlDuomenys.add(JLabelJ2); JLabelJ2.setBounds(530, 370, 100, 25); pnlDuomenys.add(txtfldMP); txtfldMP.setBounds(620, 340, 50, 24); pnlDuomenys.add(txtfldMJ); txtfldMJ.setBounds(620, 370, 50, 24); pnlPageidavimai.setLayout(null); tbdpnlBendras.add(pnlPageidavimai); pnlPageidavimai.setEnabled(false); pnlPageidavimai.setBounds(2, 27, 727, 474); pnlPageidavimai.setVisible(false); txtfldWeight.setText("70"); pnlPageidavimai.add(txtfldWeight); txtfldWeight.setBounds(22, 141, 159, 24); lblWeight.setText("Zmogaus svoris, kg"); pnlPageidavimai.add(lblWeight); lblWeight.setBounds(22, 116, 140, 35); btnNext2.setText("Toliau >>"); btnNext2.setActionCommand("Toliau >>"); pnlPageidavimai.add(btnNext2); btnNext2.setBounds(634, 441, 90, 24); cmbbxOptimization.setModel(cmbbxmdlOptimize); cmbbxOptimization.setBounds(22, 69, 161, 24); lblOptimization.setText("Optimizacijos parametrai"); pnlPageidavimai.add(lblOptimization); lblOptimization.setBounds(10, 10, 150, 24); lblImportance.setText("Grozio Faktorius**"); pnlPageidavimai.add(lblImportance); lblImportance.setBounds(22, 199, 240, 24); JLabel9.setText("jusu nuoziura"); pnlPageidavimai.add(JLabel9); JLabel9.setBounds(22, 213, 162, 26); cmbbxImportance.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" })); pnlPageidavimai.add(cmbbxImportance); cmbbxImportance.setBounds(22, 237, 159, 29); /************************************* * Produktai itraukliami tik pagal skoni * start marijus *****************************************/ JLabelAddOnTaste.setText("Itraukti pagal skoni nuo"); pnlPageidavimai.add(JLabelAddOnTaste); JLabelAddOnTaste.setBounds(22, 275, 162, 26); cmbbxIAddTaste.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" })); pnlPageidavimai.add(cmbbxIAddTaste); cmbbxIAddTaste.setBounds(22, 300, 159, 29); /*end*/ pnlRezultatai.setLayout(null); pnlRezultatai.setEnabled(false); tbdpnlBendras.add(pnlRezultatai); pnlRezultatai.setBounds(2, 27, 727, 474); pnlRezultatai.setVisible(false); JScrollPane1.setVerticalScrollBarPolicy(22); JScrollPane1.setHorizontalScrollBarPolicy(32); JScrollPane1.setOpaque(true); pnlRezultatai.add(JScrollPane1); JScrollPane1.setBounds(10, 57, 408, 168); JTable1.setModel(tblmdlRezultatai); JTable1.setAutoResizeMode(4); JScrollPane1.getViewport().add(JTable1); JTable1.setBounds(0, 0, 390, 0); JLabel1.setText("Kaloriju kiekiu suma:"); pnlRezultatai.add(JLabel1); JLabel1.setBounds(15, 249, 150, 25); JLabel2.setText("Proteinu kiekiu suma:"); pnlRezultatai.add(JLabel2); JLabel2.setBounds(15, 276, 150, 25); JLabel3.setText("Riebalu kieku suma:"); pnlRezultatai.add(JLabel3); JLabel3.setBounds(15, 303, 150, 25); JLabel4.setText("Karbohidrato kiekiu suma:"); pnlRezultatai.add(JLabel4); JLabel4.setBounds(15, 330, 150, 25); lblCaloriesTotal.setText("0"); pnlRezultatai.add(lblCaloriesTotal); lblCaloriesTotal.setBounds(166, 249, 252, 24); lblProteinsTotal.setText("0"); pnlRezultatai.add(lblProteinsTotal); lblProteinsTotal.setBounds(166, 276, 252, 24); lblFatsTotal.setText("0"); pnlRezultatai.add(lblFatsTotal); lblFatsTotal.setBounds(166, 303, 252, 24); lblCarbohydratesTotal.setText("0"); pnlRezultatai.add(lblCarbohydratesTotal); lblCarbohydratesTotal.setBounds(166, 330, 252, 24); tbdpnlBendras.setSelectedComponent(pnlDuomenys); tbdpnlBendras.setSelectedIndex(0); tbdpnlBendras.setTitleAt(0, "Produktai"); tbdpnlBendras.setTitleAt(1, "Parametrai"); tbdpnlBendras.setTitleAt(2, "Optimali dieta"); tblmdlLentele.setColumnHeaders("Pavadinimas,Baltymai,Riebalai,Angliavandeniai,kCal,A,E,C,B1,B2,B3,B6,B12,PP,Ca,Na,S,P,J,Skonis,Patiekalas,Kaina"); /// NAUJI tblmdlRezultatai.setColumnHeaders("Name, Amount"); lblStatus.setBorder(lineBorder1); getContentPane().add(lblStatus); lblStatus.setFont(new Font("Dialog", 3, 12)); lblStatus.setBounds(12, 560, 732, 60); D.setModal(true); D.setBounds(200, 200, 225, 170); D.setName("Data file name input"); D.getContentPane().setLayout(null); lblFailas.setBounds(10, 10, 200, 30); D.getContentPane().add(lblFailas); txtfldFailas.setBounds(10, 40, 200, 30); D.getContentPane().add(txtfldFailas); btnOK.setBounds(80, 80, 60, 30); D.getContentPane().add(btnOK); SymMouse aSymMouse = new SymMouse(); tblLentele.addMouseListener(aSymMouse); SymAction lSymAction = new SymAction(); btnLoad.addActionListener(lSymAction); SymItem lSymItem = new SymItem(); btnNext2.addActionListener(lSymAction); btnNext1.addActionListener(lSymAction); cmbbxOptimization.addItemListener(lSymItem); btnNew.addActionListener(lSymAction); btnUpdate.addActionListener(lSymAction); btnDelete.addActionListener(lSymAction); btnOK.addActionListener(lSymAction); // 3 panel initTotals(); } /* ------------------------------------ * metodas tblLentele_mouseClicked * atvaizduoja lenteleje pazymeta produkta * i kitus appleto elementus * ------------------------------------ */ void tblLentele_mouseClicked(MouseEvent event) { txtfldName.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 0).toString()); txtfldCalories.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 4).toString()); txtfldProteins.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 1).toString()); txtfldFats.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 2).toString()); txtfldCarbohydrates.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 3).toString()); txtfldVitaminC.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 5).toString()); txtfldVitaminA.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 6).toString()); txtfldMineralCa.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 7).toString()); txtfldMineralNa.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 8).toString()); txtfldVitaB2.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 9).toString()); txtfldVitaB3.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 10).toString()); txtfldVitaB6.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 11).toString()); txtfldVitaB12.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 12).toString()); txtfldVitaPP.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 13).toString()); txtfldMCA.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 14).toString()); txtfldMNa.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 15).toString()); txtfldMS.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 16).toString()); txtfldMP.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 17).toString()); txtfldMJ.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 18).toString()); cmbbxTaste.setSelectedItem(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 19)); Integer tt = Integer.valueOf(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 20).toString()); if(tt.intValue() == 1) chkbxDish.setSelected(true); else chkbxDish.setSelected(false); txtfldPrice.setText(tblmdlLentele.getValueAt(tblLentele.getSelectedRow(), 21).toString()); } //HUJ private void initComponents() { ReikiaKal = new javax.swing.JTextField(); ReikiaAngl = new javax.swing.JTextField(); ReikiaBalt = new javax.swing.JTextField(); ReikiaRieb = new javax.swing.JTextField(); ReikiaVitA = new javax.swing.JTextField(); ReikiaVitB1 = new javax.swing.JTextField(); ReikiaVitB2 = new javax.swing.JTextField(); ReikiaVitB3 = new javax.swing.JTextField(); ReikiaVitB6 = new javax.swing.JTextField(); ReikiaVitB12 = new javax.swing.JTextField(); ReikiaVitC = new javax.swing.JTextField(); ReikiaVitE = new javax.swing.JTextField(); ReikiaVitPP = new javax.swing.JTextField(); ReikiaFosf = new javax.swing.JTextField(); ReikiaSer = new javax.swing.JTextField(); ReikiaNatr = new javax.swing.JTextField(); ReikiaKalc = new javax.swing.JTextField(); ReikiaJ = new javax.swing.JTextField(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel5 = new javax.swing.JLabel(); jLabel6 = new javax.swing.JLabel(); jLabel7 = new javax.swing.JLabel(); jLabel8 = new javax.swing.JLabel(); jLabel9 = new javax.swing.JLabel(); jLabel10 = new javax.swing.JLabel(); jLabel11 = new javax.swing.JLabel(); jLabel12 = new javax.swing.JLabel(); jLabel13 = new javax.swing.JLabel(); jLabel14 = new javax.swing.JLabel(); jLabel15 = new javax.swing.JLabel(); jLabel16 = new javax.swing.JLabel(); jLabel17 = new javax.swing.JLabel(); jLabel18 = new javax.swing.JLabel(); jLabel19 = new javax.swing.JLabel(); jLabel20 = new javax.swing.JLabel(); jLabel21 = new javax.swing.JLabel(); jLabel22 = new javax.swing.JLabel(); getContentPane().setLayout(null); pnlPageidavimai.setLayout(null); /*------------- normos zmogaus mases kilogramui --------------*/ jLabel17.setText("Zmogui vienam mases kg reikia:"); pnlPageidavimai.add(jLabel17); jLabel17.setBounds(240,50, 240, 20); jLabel1.setText("Kaloriju kiekis, kCal"); pnlPageidavimai.add(jLabel1); jLabel1.setBounds(240, 70, 120, 20); ReikiaKal.setText("34.7"); pnlPageidavimai.add(ReikiaKal); ReikiaKal.setBounds(240, 90, 80, 20); jLabel2.setText("Angliavandeniai, g"); pnlPageidavimai.add(jLabel2); jLabel2.setBounds(360, 70, 120, 20); ReikiaAngl.setText("6.5"); pnlPageidavimai.add(ReikiaAngl); ReikiaAngl.setBounds(360, 90, 80, 20); jLabel4.setText("Baltymu kiekis, g"); pnlPageidavimai.add(jLabel4); jLabel4.setBounds(480, 70, 120, 20); ReikiaBalt.setText("1.3"); pnlPageidavimai.add(ReikiaBalt); ReikiaBalt.setBounds(480, 90, 80, 20); jLabel5.setText("Riebalu kiekis, g"); pnlPageidavimai.add(jLabel5); jLabel5.setBounds(600, 70, 110, 20); ReikiaRieb.setText("1.3"); pnlPageidavimai.add(ReikiaRieb); ReikiaRieb.setBounds(600, 90, 80, 20); /*------------- zmogaus normos parai --------------------------*/ jLabel18.setText("Zmogaus paros norma:"); pnlPageidavimai.add(jLabel18); jLabel18.setBounds(240,120, 200, 20); /*VITAMINAI*/ jLabel19.setText("Vitaminai"); pnlPageidavimai.add(jLabel19); jLabel19.setBounds(260,140, 200, 20); /*1*/ jLabel6.setText("Vitaminas A, mg"); pnlPageidavimai.add(jLabel6); jLabel6.setBounds(240, 160, 110, 20); ReikiaVitA.setText("0.8"); pnlPageidavimai.add(ReikiaVitA); ReikiaVitA.setBounds(240, 180, 80, 20); /*2*/ jLabel9.setText("Vitamimas B1, mg"); pnlPageidavimai.add(jLabel9); jLabel9.setBounds(240, 200, 110, 20); ReikiaVitB1.setText("1.5"); pnlPageidavimai.add(ReikiaVitB1); ReikiaVitB1.setBounds(240, 220, 80, 20); /*3*/ jLabel10.setText("Vitaminas B2, mg"); pnlPageidavimai.add(jLabel10); jLabel10.setBounds(240, 240, 110, 20); ReikiaVitB2.setText("1.7"); pnlPageidavimai.add(ReikiaVitB2); ReikiaVitB2.setBounds(240, 260, 80, 20); /*4*/ jLabel11.setText("Vitaminas B3, mg"); pnlPageidavimai.add(jLabel11); jLabel11.setBounds(240, 280, 110, 20); ReikiaVitB3.setText("1.8"); pnlPageidavimai.add(ReikiaVitB3); ReikiaVitB3.setBounds(240, 300, 80, 20); /*5*/ jLabel12.setText("Vitaminas B6, mg"); pnlPageidavimai.add(jLabel12); jLabel12.setBounds(360, 160, 110, 20); ReikiaVitB6.setText("2"); pnlPageidavimai.add(ReikiaVitB6); ReikiaVitB6.setBounds(360, 180, 80, 20); /*6*/ jLabel8.setText("Vitaminas B12, mkrg"); pnlPageidavimai.add(jLabel8); jLabel8.setBounds(360, 200, 120, 20); ReikiaVitB12.setText("6"); pnlPageidavimai.add(ReikiaVitB12); ReikiaVitB12.setBounds(360, 220, 80, 20); /*7*/ jLabel7.setText("Vitaminas C, mg"); pnlPageidavimai.add(jLabel7); jLabel7.setBounds(360, 240, 110, 20); ReikiaVitC.setText("60"); pnlPageidavimai.add(ReikiaVitC); ReikiaVitC.setBounds(360, 260, 80, 20); /*8*/ jLabel3.setText("Vitaminas E, mg"); pnlPageidavimai.add(jLabel3); jLabel3.setBounds(360, 280, 110, 20); ReikiaVitE.setText("10"); pnlPageidavimai.add(ReikiaVitE); ReikiaVitE.setBounds(360, 300, 80, 20); /******papildymai******/ /*9 PP nebuvo*/ jLabel21.setText("Vitaminas PP, mg"); pnlPageidavimai.add(jLabel21); jLabel21.setBounds(240, 320, 110, 20); ReikiaVitPP.setText("17"); pnlPageidavimai.add(ReikiaVitPP); ReikiaVitPP.setBounds(240, 340, 80, 20); /*MIKROELEMENTAI*/ jLabel20.setText("Mikroelementai"); pnlPageidavimai.add(jLabel20); jLabel20.setBounds(500,140, 200, 20); /*1*/ jLabel16.setText("Fosforas, mg"); pnlPageidavimai.add(jLabel16); jLabel16.setBounds(490, 160, 110, 20); ReikiaFosf.setText("900"); pnlPageidavimai.add(ReikiaFosf); ReikiaFosf.setBounds(490, 180, 80, 20); /*2*/ jLabel15.setText("Mikroel. S, mg"); pnlPageidavimai.add(jLabel15); jLabel15.setBounds(490, 200, 110, 20); ReikiaSer.setText("1000"); pnlPageidavimai.add(ReikiaSer); ReikiaSer.setBounds(490, 220, 80, 20); /*3*/ jLabel14.setText("Mikroel. Na, mg"); pnlPageidavimai.add(jLabel14); jLabel14.setBounds(490, 240, 110, 20); ReikiaNatr.setText("150"); pnlPageidavimai.add(ReikiaNatr); ReikiaNatr.setBounds(490, 260, 80, 20); /*4*/ jLabel13.setText("Mikroel. Ca, mg"); pnlPageidavimai.add(jLabel13); jLabel13.setBounds(490, 280, 110, 20); ReikiaKalc.setText("1000"); pnlPageidavimai.add(ReikiaKalc); ReikiaKalc.setBounds(490, 300, 80, 20); /******papildymai******/ /*5 J nebuvo*/ jLabel22.setText("Mikroel. J, mg"); pnlPageidavimai.add(jLabel22); jLabel22.setBounds(610, 160, 110, 20); ReikiaJ.setText("17"); pnlPageidavimai.add(ReikiaJ); ReikiaJ.setBounds(610, 180, 80, 20); } /* ------------------------------------ * metodas initTotals() * inicijuoja atsakymu laukus * ------------------------------------ */ private void initTotals() { /*Papildomi atsakymai*/ lblPriceTotal = new JLabel(); lblPriceTTlbl = new JLabel(); lblVitATotal = new JLabel(); lblVitCTotal = new JLabel(); lblVitB1Total = new JLabel(); lblVitB2Total = new JLabel(); lblVitB3Total = new JLabel(); lblVitB6Total = new JLabel(); lblVitB12Total = new JLabel(); lblVitETotal = new JLabel(); lblVitPPTotal = new JLabel(); lblMinCaTotal = new JLabel(); lblMinNaTotal = new JLabel(); lblMinSTotal = new JLabel(); lblMinPTotal = new JLabel(); lblMinJTotal = new JLabel(); lblVitATTlbl = new JLabel(); lblVitB1TTlbl = new JLabel(); lblVitB2TTlbl = new JLabel(); lblVitB3TTlbl = new JLabel(); lblVitB6TTlbl = new JLabel(); lblVitB12TTlbl = new JLabel(); lblVitCTTlbl = new JLabel(); lblVitETTlbl = new JLabel(); lblVitPPTTlbl = new JLabel(); lblMinCaTTlbl = new JLabel(); lblMinNaTTlbl = new JLabel(); lblMinSTTlbl = new JLabel(); lblMinPTTlbl = new JLabel(); lblMinJTTlbl = new JLabel(); //--------- lblPriceTTlbl.setText("Dietos kaina:"); pnlRezultatai.add(lblPriceTTlbl); lblPriceTTlbl.setBounds(15, 357, 252, 24); lblPriceTotal.setText("0"); pnlRezultatai.add(lblPriceTotal); lblPriceTotal.setBounds(166, 357, 200, 24); //-------------------------- lblVitATTlbl.setText("Vitamino A suma:"); pnlRezultatai.add(lblVitATTlbl); lblVitATTlbl.setBounds( 480, 27, 200, 24); lblVitATotal.setText("0"); pnlRezultatai.add(lblVitATotal); lblVitATotal.setBounds( 600, 27, 200, 24); //----- lblVitB1TTlbl.setText("Vitamino B1 suma:"); pnlRezultatai.add(lblVitB1TTlbl); lblVitB1TTlbl.setBounds(480, 54, 200, 24); lblVitB1Total.setText("0"); pnlRezultatai.add(lblVitB1Total); lblVitB1Total.setBounds(600, 54, 252, 24); //--- lblVitB2TTlbl.setText("Vitamino B2 suma:"); pnlRezultatai.add(lblVitB2TTlbl); lblVitB2TTlbl.setBounds(480,81, 200, 24); lblVitB2Total.setText("0"); pnlRezultatai.add(lblVitB2Total); lblVitB2Total.setBounds(600,81, 200, 24); //--- lblVitB3TTlbl.setText("Vitamino B3 suma:"); pnlRezultatai.add(lblVitB3TTlbl); lblVitB3TTlbl.setBounds(480, 108, 200, 24); lblVitB3Total.setText("0"); pnlRezultatai.add(lblVitB3Total); lblVitB3Total.setBounds(600, 108, 200, 24); //--- lblVitB6TTlbl.setText("Vitamino B6 suma:"); pnlRezultatai.add(lblVitB6TTlbl); lblVitB6TTlbl.setBounds(480, 135, 200, 24); lblVitB6Total.setText("0"); pnlRezultatai.add(lblVitB6Total); lblVitB6Total.setBounds(600, 135, 200, 24); //--- lblVitB12TTlbl.setText("Vitamino B12 suma:"); pnlRezultatai.add(lblVitB12TTlbl); lblVitB12TTlbl.setBounds(480, 162, 200, 24); lblVitB12Total.setText("0"); pnlRezultatai.add(lblVitB12Total); lblVitB12Total.setBounds(600, 162, 200, 24); //--- lblVitCTTlbl.setText("Vitamino C suma:"); pnlRezultatai.add(lblVitCTTlbl); lblVitCTTlbl.setBounds( 480, 189 , 200, 24); lblVitCTotal.setText("0"); pnlRezultatai.add(lblVitCTotal); lblVitCTotal.setBounds( 600, 189 , 200, 24); //--- lblVitETTlbl.setText("Vitamino E suma:"); pnlRezultatai.add(lblVitETTlbl); lblVitETTlbl.setBounds(480, 216, 200, 24); lblVitETotal.setText("0"); pnlRezultatai.add(lblVitETotal); lblVitETotal.setBounds(600, 216, 200, 24); //--- lblVitPPTTlbl.setText("Vitamino PP suma:"); pnlRezultatai.add(lblVitPPTTlbl); lblVitPPTTlbl.setBounds(480, 243, 200, 24); lblVitPPTotal.setText("0"); pnlRezultatai.add(lblVitPPTotal); lblVitPPTotal.setBounds(600, 243, 200, 24); //--- lblMinCaTTlbl.setText("Mineralo Ca suma:"); pnlRezultatai.add(lblMinCaTTlbl); lblMinCaTTlbl.setBounds(480, 270, 200, 24); lblMinCaTotal.setText("0"); pnlRezultatai.add(lblMinCaTotal); lblMinCaTotal.setBounds(600, 270, 200, 24); //--- lblMinNaTTlbl.setText("Mineralo Na suma:"); pnlRezultatai.add(lblMinNaTTlbl); lblMinNaTTlbl.setBounds(480, 297, 200, 24); lblMinNaTotal.setText("0"); pnlRezultatai.add(lblMinNaTotal); lblMinNaTotal.setBounds(600, 297, 200, 24); //--- lblMinSTTlbl.setText("Mineralo S suma:"); pnlRezultatai.add(lblMinSTTlbl); lblMinSTTlbl.setBounds(480, 324, 200, 24); lblMinSTotal.setText("0"); pnlRezultatai.add(lblMinSTotal); lblMinSTotal.setBounds(600, 324, 200, 24); //--- lblMinPTTlbl.setText("Mineralo P suma:"); pnlRezultatai.add(lblMinPTTlbl); lblMinPTTlbl.setBounds(480, 351, 200, 24); lblMinPTotal.setText("0"); pnlRezultatai.add(lblMinPTotal); lblMinPTotal.setBounds(600, 351, 200, 24); //--- lblMinJTTlbl.setText("Mineralo J suma:"); pnlRezultatai.add(lblMinJTTlbl); lblMinJTTlbl.setBounds(480, 378, 200, 24); lblMinJTotal.setText("0"); pnlRezultatai.add(lblMinJTotal); lblMinJTotal.setBounds(600, 378, 200, 24); /*end*/ } }