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
Post a Comment