java - Need to set a double value depending on which item(s) are selected from a JList -
java - Need to set a double value depending on which item(s) are selected from a JList -
my code far:
import java.awt.borderlayout; import java.awt.container; import javax.swing.box; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jlist; import javax.swing.jscrollpane; import javax.swing.event.listselectionevent; import javax.swing.event.listselectionlistener; public class testfile2 { public static void main(string args[]) { string size[] = {"small", "medium", "large", "extra large"}; string toppings[] = {"cheese", "pepperoni", "sausage", "spinach", "pepperoncini"}; jframe f = new jframe("pizza"); f.setdefaultcloseoperation(jframe.exit_on_close); jlist list1 = new jlist(size); jlist list2 = new jlist(toppings); container c = f.getcontentpane(); jscrollpane sp1 = new jscrollpane(list1); sp1.setcolumnheaderview(new jlabel("select size")); jscrollpane sp2 = new jscrollpane(list2); sp2.setcolumnheaderview(new jlabel("select toppings. hold ctrl select multiple toppings")); box box = box.createhorizontalbox(); box.add(sp1); box.add(sp2); list1.addlistselectionlistener(new listselectionlistener() { public void valuechanged(listselectionevent e) { jlist jlistsource = (jlist) e.getsource(); object[] selection = jlistsource.getselectedvalues(); if (!e.getvalueisadjusting()) { system.out.println("----"); (int = 0; < selection.length; i++) { double costsize; if (selection[i].equals("small")) { costsize = 7.00; } else if (selection[i].equals("medium")) { costsize = 9.00; } else if (selection[i].equals("large")) { costsize = 11.00; } else { costsize = 14.00; } system.out.println("selection = " + selection[i]); system.out.println("selection = " + costsize); } } } }); c.add(box, borderlayout.center); f.setsize( 300, 200); f.setvisible( true); } } i need similar did list1.
i need have user select jlist both size of pizza , toppings. @ end need able calculate total cost. each topping $1. point in direction appreciated have been pulling hair out past few hours trying different methods problem.
thanks in advance.
i hope help :) ... there other ways it.... 1 of them ...
import java.awt.borderlayout; import java.awt.container; import javax.swing.box; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jlist; import javax.swing.jscrollpane; import javax.swing.event.listselectionevent; import javax.swing.event.listselectionlistener; public class testfile2 { private static jlist list1; private static jlist list2; public static void main(string args[]) { string size[] = {"small", "medium", "large", "extra large"}; string toppings[] = {"cheese", "pepperoni", "sausage", "spinach", "pepperoncini"}; jframe f = new jframe("pizza"); f.setdefaultcloseoperation(jframe.exit_on_close); list1 = new jlist(size); list2 = new jlist(toppings); container c = f.getcontentpane(); jscrollpane sp1 = new jscrollpane(list1); sp1.setcolumnheaderview(new jlabel("select size")); jscrollpane sp2 = new jscrollpane(list2); sp2.setcolumnheaderview(new jlabel("select toppings. hold ctrl select multiple toppings")); box box = box.createhorizontalbox(); box.add(sp1); box.add(sp2); list1.addlistselectionlistener(new listselectionlistener() { public void valuechanged(listselectionevent e) { handleevent(e); } }); list2.addlistselectionlistener(new listselectionlistener() { public void valuechanged(listselectionevent e) { handleevent(e); } }); c.add(box, borderlayout.center); f.setsize( 300, 200); f.setvisible( true); } protected static void handleevent(listselectionevent e) { double cost = 0.0; object[] selection = list1.getselectedvalues(); object[] toppings = list2.getselectedvalues(); if(toppings.length == 0) system.out.println("please select topping"); if(selection.length == 0) system.out.println("please select size"); if (!e.getvalueisadjusting()) { system.out.println("----"); (int = 0; < selection.length; i++) { double costsize; if (selection[i].equals("small")) { cost = 7.00; } else if (selection[i].equals("medium")) { cost = 9.00; } else if (selection[i].equals("large")) { cost = 11.00; } else { cost = 14.00; } } (int = 0; < toppings.length; i++) { cost++; } system.out.println("total = " + cost); } } } java jlist
Comments
Post a Comment