java - Searching String/Int in objects in ArrayLists -


i'm trying search through array(inventory) string(name) or/and integer(id) inside object(productinfo). after name, id, number, , description show in 4 separate lables (nameout, idout, num out, desout). have no clue how this. appreciated.

namego button search name, idgo button search id.

/*  * change template, choose tools | templates  * , open template in editor.  */  import java.util.*;  /**  *  * @author matthewmurchison  */ public class mventory extends javax.swing.jframe {      /**      * creates new form mventory      */        public mventory() {         initcomponents();       }          public class productinfo{                     string name;                      string des;                      int id;                      int num;        public productinfo(string name, string des, int id, int num){       this.name = name;       this.des =des;       this.id = id;       this.num = num;     } }           /**      *      */     public static void inventory(){          }       //creat array         arraylist <productinfo> inventory = new arraylist <productinfo> ();      /**      * method called within constructor initialize form.      * warning: not modify code. content of method      * regenerated form editor.      */     @suppresswarnings("unchecked")     // <editor-fold defaultstate="collapsed" desc="generated code">                               private void initcomponents() {          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();         namein = new javax.swing.jtextfield();         idin = new javax.swing.jtextfield();         desin = new javax.swing.jtextfield();         numin = new javax.swing.jtextfield();         namesearch = new javax.swing.jtextfield();         idsearch = new javax.swing.jtextfield();         nameout = new javax.swing.jlabel();         idout = new javax.swing.jlabel();         desout = new javax.swing.jlabel();         numout = new javax.swing.jlabel();         jlabel14 = new javax.swing.jlabel();         jlabel15 = new javax.swing.jlabel();         jlabel16 = new javax.swing.jlabel();         addgo = new javax.swing.jbutton();         namego = new javax.swing.jbutton();         idgo = new javax.swing.jbutton();          setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close);          jlabel1.settext("jlabel1");          jlabel2.settext("name:");          jlabel3.settext("id");          jlabel4.settext("descripion");          jlabel5.settext("number");          jlabel6.settext("name");          jlabel7.settext("id");          namein.settext("jtextfield1");          idin.settext("jtextfield2");         idin.addactionlistener(new java.awt.event.actionlistener() {             public void actionperformed(java.awt.event.actionevent evt) {                 idinactionperformed(evt);             }         });          desin.settext("jtextfield3");          numin.settext("jtextfield4");          namesearch.settext("jtextfield5");          idsearch.settext("jtextfield6");          nameout.settext("jlabel10");          idout.settext("jlabel11");          desout.settext("jlabel12");          numout.settext("jlabel13");          jlabel14.settext("add");          jlabel15.settext("search name");          jlabel16.settext("search id");          addgo.settext("jbutton1");         addgo.addactionlistener(new java.awt.event.actionlistener() {             public void actionperformed(java.awt.event.actionevent evt) {                 addgoactionperformed(evt);             }         });          namego.settext("jbutton2");         namego.addactionlistener(new java.awt.event.actionlistener() {             public void actionperformed(java.awt.event.actionevent evt) {                 namegoactionperformed(evt);             }         });          idgo.settext("jbutton3");         idgo.addactionlistener(new java.awt.event.actionlistener() {             public void actionperformed(java.awt.event.actionevent evt) {                 idgoactionperformed(evt);             }         });          org.jdesktop.layout.grouplayout layout = new org.jdesktop.layout.grouplayout(getcontentpane());         getcontentpane().setlayout(layout);         layout.sethorizontalgroup(             layout.createparallelgroup(org.jdesktop.layout.grouplayout.leading)             .add(org.jdesktop.layout.grouplayout.trailing, layout.createsequentialgroup()                 .add(0, 0, short.max_value)                 .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.leading)                     .add(addgo)                     .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.leading)                         .add(org.jdesktop.layout.grouplayout.trailing, layout.createsequentialgroup()                             .add(jlabel14)                             .add(233, 233, 233))                         .add(org.jdesktop.layout.grouplayout.trailing, layout.createsequentialgroup()                             .add(jlabel15)                             .add(222, 222, 222))                         .add(org.jdesktop.layout.grouplayout.trailing, layout.createsequentialgroup()                             .add(jlabel16)                             .add(230, 230, 230)))))             .add(layout.createsequentialgroup()                 .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.leading)                     .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.trailing)                         .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.leading)                             .add(layout.createsequentialgroup()                                 .add(225, 225, 225)                                 .add(jlabel1))                             .add(layout.createsequentialgroup()                                 .add(99, 99, 99)                                 .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.leading)                                     .add(jlabel7)                                     .add(jlabel6)))                             .add(layout.createsequentialgroup()                                 .add(126, 126, 126)                                 .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.trailing)                                     .add(idgo)                                     .add(layout.createsequentialgroup()                                         .add(nameout)                                         .add(18, 18, 18)                                         .add(idout)                                         .add(18, 18, 18)                                         .add(desout)))                                 .add(18, 18, 18)                                 .add(numout)))                         .add(layout.createsequentialgroup()                             .addcontainergap()                             .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.trailing)                                 .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.leading)                                     .add(jlabel2)                                     .add(layout.createsequentialgroup()                                         .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.leading)                                             .add(jlabel4)                                             .add(jlabel5)                                             .add(jlabel3))                                         .add(18, 18, 18)                                         .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.leading)                                             .add(namesearch, org.jdesktop.layout.grouplayout.preferred_size, 207, org.jdesktop.layout.grouplayout.preferred_size)                                             .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.leading, false)                                                 .add(desin)                                                 .add(numin)                                                 .add(namein)                                                 .add(idin, org.jdesktop.layout.grouplayout.preferred_size, 202, org.jdesktop.layout.grouplayout.preferred_size)))))                                 .add(idsearch, org.jdesktop.layout.grouplayout.preferred_size, 207, org.jdesktop.layout.grouplayout.preferred_size))))                     .add(layout.createsequentialgroup()                         .add(220, 220, 220)                         .add(namego)))                 .addcontainergap(144, short.max_value))         );         layout.setverticalgroup(             layout.createparallelgroup(org.jdesktop.layout.grouplayout.leading)             .add(layout.createsequentialgroup()                 .addcontainergap()                 .add(jlabel1)                 .addpreferredgap(org.jdesktop.layout.layoutstyle.related, 31, short.max_value)                 .add(jlabel14)                 .add(18, 18, 18)                 .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.baseline)                     .add(jlabel2)                     .add(namein, org.jdesktop.layout.grouplayout.preferred_size, org.jdesktop.layout.grouplayout.default_size, org.jdesktop.layout.grouplayout.preferred_size))                 .addpreferredgap(org.jdesktop.layout.layoutstyle.related)                 .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.baseline)                     .add(jlabel3)                     .add(idin, org.jdesktop.layout.grouplayout.preferred_size, org.jdesktop.layout.grouplayout.default_size, org.jdesktop.layout.grouplayout.preferred_size))                 .addpreferredgap(org.jdesktop.layout.layoutstyle.related)                 .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.baseline)                     .add(jlabel4)                     .add(desin, org.jdesktop.layout.grouplayout.preferred_size, org.jdesktop.layout.grouplayout.default_size, org.jdesktop.layout.grouplayout.preferred_size))                 .addpreferredgap(org.jdesktop.layout.layoutstyle.related)                 .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.trailing)                     .add(numin, org.jdesktop.layout.grouplayout.preferred_size, org.jdesktop.layout.grouplayout.default_size, org.jdesktop.layout.grouplayout.preferred_size)                     .add(jlabel5))                 .addpreferredgap(org.jdesktop.layout.layoutstyle.related)                 .add(addgo)                 .add(18, 18, 18)                 .add(jlabel15)                 .add(24, 24, 24)                 .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.baseline)                     .add(namesearch, org.jdesktop.layout.grouplayout.preferred_size, org.jdesktop.layout.grouplayout.default_size, org.jdesktop.layout.grouplayout.preferred_size)                     .add(jlabel6))                 .add(18, 18, 18)                 .add(namego)                 .add(14, 14, 14)                 .add(jlabel16)                 .add(18, 18, 18)                 .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.baseline)                     .add(idsearch, org.jdesktop.layout.grouplayout.preferred_size, org.jdesktop.layout.grouplayout.default_size, org.jdesktop.layout.grouplayout.preferred_size)                     .add(jlabel7))                 .add(18, 18, 18)                 .add(idgo)                 .add(32, 32, 32)                 .add(layout.createparallelgroup(org.jdesktop.layout.grouplayout.baseline)                     .add(nameout)                     .add(idout)                     .add(desout)                     .add(numout))                 .add(64, 64, 64))         );          pack();     }// </editor-fold>                              private void idinactionperformed(java.awt.event.actionevent evt) {                                              // todo add handling code here:     }                                          private void idgoactionperformed(java.awt.event.actionevent evt) {                                              // search id      }                                          private void addgoactionperformed(java.awt.event.actionevent evt) {                                           // add item         string name, description;         int identification, number;          name = namein.gettext();         description = desin.gettext();         identification = integer.parseint(idin.gettext());         number = integer.parseint(numin.gettext());          inventory.add(new productinfo(name, description, identification, number));          namein.settext("");         desin.settext("");         idin.settext("");         numin.settext("");       }                                           private void namegoactionperformed(java.awt.event.actionevent evt) {                                                        // search name     }                                            /**      * @param args command line arguments      */     public static void main(string args[]) {         /* set nimbus , feel */         //<editor-fold defaultstate="collapsed" desc=" , feel setting code (optional) ">         /* if nimbus (introduced in java se 6) not available, stay default , feel.          * details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html           */         try {             (javax.swing.uimanager.lookandfeelinfo info : javax.swing.uimanager.getinstalledlookandfeels()) {                 if ("nimbus".equals(info.getname())) {                     javax.swing.uimanager.setlookandfeel(info.getclassname());                     break;                 }             }         } catch (classnotfoundexception ex) {             java.util.logging.logger.getlogger(mventory.class.getname()).log(java.util.logging.level.severe, null, ex);         } catch (instantiationexception ex) {             java.util.logging.logger.getlogger(mventory.class.getname()).log(java.util.logging.level.severe, null, ex);         } catch (illegalaccessexception ex) {             java.util.logging.logger.getlogger(mventory.class.getname()).log(java.util.logging.level.severe, null, ex);         } catch (javax.swing.unsupportedlookandfeelexception ex) {             java.util.logging.logger.getlogger(mventory.class.getname()).log(java.util.logging.level.severe, null, ex);         }         //</editor-fold>          /* create , display form */         java.awt.eventqueue.invokelater(new runnable() {             public void run() {                 new mventory().setvisible(true);             }         });     }     // variables declaration - not modify                          private javax.swing.jbutton addgo;     private javax.swing.jtextfield desin;     private javax.swing.jlabel desout;     private javax.swing.jbutton idgo;     private javax.swing.jtextfield idin;     private javax.swing.jlabel idout;     private javax.swing.jtextfield idsearch;     private javax.swing.jbutton namego;     private javax.swing.jtextfield namein;     private javax.swing.jlabel nameout;     private javax.swing.jtextfield namesearch;     private javax.swing.jtextfield numin;     private javax.swing.jlabel numout;     private javax.swing.jlabel jlabel1;     private javax.swing.jlabel jlabel14;     private javax.swing.jlabel jlabel15;     private javax.swing.jlabel jlabel16;     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;     // end of variables declaration                    } 

say productinfo has following structure:

public class productinfo {      private int id;     private string name;     private foo someotherfield;      public int getid () {         return id;     }      public string getname () {         return name;     }      //...  } 

then can search arraylist<productinfo>, using following code:

public class inventory {      private arraylist<productinfo> pis = new arraylist<productinfo>();      public productinfo find (int id, string name) {         for(productinfo pi : pis) {             if(pi.getid() == id && objects.equals(pi.getname(),name)) {                 return pi;             }         }     }  } 

this method should privided inventory since controller pattern explicitly states should separate user interface data manipulation.


you can fetch data jtextfield instances using:

string name = namein.gettext(); int id = integer.parse(idin.gettext()); 

finally need kind of handler method should job when user triggers event:

public class buttonhandler implements actionlistener {      private inventory inventory;     private jtextfield idin;     private jtextfield namein;      public buttonhandler(inventory inventory, jtextfield idin, jtextfield namein) {         this.inventory = inventory;         this.idin = idin;         this.namein = namein;     }      public void actionperformed(actionevent e) {         string name = namein.gettext();         int id = integer.parse(idin.gettext());         productinfo pi = inventory.find(name,id);         //do pi     } } 

you need create such handler, , add listener:

buttonhandler handler = new buttonhandler(inventory,this.idin,this.namein); somebutton.addactionlistener(this); 

finally coding guidelines in java:

  • the name of field starts lowercase letter.
  • as mentioned, use different classes, separate responsibilities , separate user interface data manipulation.

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -