java - Posting from JTextFields into array -


ok have made array , added action listener when button named "submit" clicked data jtextfields should entered arraylist although not happening, on why not appreciated. below action listener action performed.

public class main {     string housenumber, streetname, town, postcode, beds, price, type;     jtextfield housenumber1, streetname1, town1, postcode1, beds1, price1,             type1;     jlabel housenumberlabel, streetnamelabel, townlabel, postcodelabel,             bedslabel, pricelabel, typelabel;     jbutton submit;     jpanel panel;     jframe frame;      public static void main(string[] args) {         main gui = new main();         gui.go();     }      public void go() {         frame = new jframe();         panel = new jpanel();         housenumberlabel = new jlabel("house number");         housenumber1 = new jtextfield("");         streetnamelabel = new jlabel("street name");         streetname1 = new jtextfield("");         townlabel = new jlabel("town");         town1 = new jtextfield("");         postcodelabel = new jlabel("postcode");         postcode1 = new jtextfield("");         bedslabel = new jlabel("number of beds");         beds1 = new jtextfield("");         pricelabel = new jlabel("price (£)");         price1 = new jtextfield("");         typelabel = new jlabel("building type");         type1 = new jtextfield("");         submit = new jbutton("submit");         panel.setlayout(new boxlayout(panel, boxlayout.y_axis));         frame.getcontentpane().add(panel);         frame.setdefaultcloseoperation(jframe.exit_on_close);         frame.setsize(300, 300);         frame.setvisible(true);          // add contents jframe , jpanel         panel.add(housenumberlabel);         panel.add(housenumber1);         panel.add(streetnamelabel);         panel.add(streetname1);         panel.add(townlabel);         panel.add(town1);         panel.add(postcodelabel);         panel.add(postcode1);         panel.add(bedslabel);         panel.add(beds1);         panel.add(pricelabel);         panel.add(price1);         panel.add(typelabel);         panel.add(type1);         panel.add(submit);         frame.pack();         frame.show();          final arraylist<main> p = new arraylist<main>();         submit.addactionlistener(new actionlistener() {              public void actionperformed(actionevent e) {                 main array = new main();                 housenumber = housenumber1.gettext();                 streetname = streetname1.gettext();                 town = town1.gettext();                 postcode = postcode1.gettext();                 p.add(array);             }         });     } } 

although main class has fields, since it's managing gui, don't want create arraylist<main>

if need collect strings can create

arraylist<string> housedetails = new arraylist<string>();  housedetails.add(housenumber); housedetails.add(streenname); housedetails.add(town); housedetails.add(postcode); 

but cleaner thing create class manage these

class house {     private string housenumber;     private string streetname;     private string town;     private string postcode;      public string gethousenumber() {         return housenumber;     }     public void sethousenumber(string housenumber) {         this.housenumber = housenumber;     }     public string getstreetname() {         return streetname;     }     public void setstreetname(string streetname) {         this.streetname = streetname;     }     public string gettown() {         return town;     }     public void settown(string town) {         this.town = town;     }     public string getpostcode() {         return postcode;     }     public void setpostcode(string postcode) {         this.postcode = postcode;     } } 

and create house , set valuse.

final arraylist<house> houses = new arraylist<house>(); 

and in actionperformed event

house house = new house(); house.sethousenumber(housenumber); ...  houses.add(house); 

Comments