badsha

Java Project

Mar 31st, 2013
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.63 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. import java.util.*;
  5. import java.awt.Graphics;
  6. import java.awt.image.BufferedImage;
  7. import java.io.File;
  8. import java.io.IOException;
  9. import javax.imageio.ImageIO;
  10. import javax.swing.JPanel;
  11. public class TakeOutMenu implements ActionListener {
  12.  
  13. Image albumart=null;
  14. String imgURL="";
  15. DefaultListModel model;
  16. JList list;
  17. JFrame jfrmTakeOut;
  18. JButton button;
  19. JPanel jpnlMenu;JPanel jpnlOrderOptions; JPanel jpnlFinalOrder;
  20. JCheckBox jchkBurger;JCheckBox jchkPizza;
  21. JCheckBox jchkSalad;JCheckBox jchkFries;
  22. JCheckBox jchkCoke;JCheckBox jchkIceCream;
  23. JLabel jlbBurger;JLabel jlbPizza;
  24. JLabel jlbSalad;JLabel jlbFries;
  25. JLabel jlbCoke;JLabel jlbIceCream;
  26.  
  27. JRadioButton jrbPizzaSmall;JRadioButton jrbPizzaMedium;JRadioButton jrbPizzaLarge;
  28. JRadioButton jrbFriesSmall;JRadioButton jrbFriesLarge;
  29. JRadioButton jrbIceCreamVanilla;JRadioButton jrbIceCreamChocolate;
  30. ArrayList<Food>foodList = new ArrayList<Food>(20);
  31.  
  32. TakeOutMenu() {
  33. //********************Initialize JFrame START********************//
  34. jfrmTakeOut = new JFrame("Jo Booty's Yum Yums");
  35. jfrmTakeOut.setLayout(new GridBagLayout());
  36. jfrmTakeOut.setSize(850,550);
  37. jfrmTakeOut.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  38. //********************Initialize JFrame END********************//
  39.  
  40. //*************Initialize GridBagConstraints START*************//
  41. GridBagConstraints c = new GridBagConstraints();
  42. c.fill = GridBagConstraints.HORIZONTAL;
  43. //*************Initialize GridBagConstraints END*************//
  44.  
  45. //*************Initialize MenuBar START*************//
  46. JMenuBar jmbTop = new JMenuBar();
  47. JMenu jm_file = new JMenu("File");
  48. JMenu jm_help = new JMenu("Help");
  49. JMenuItem newOrder = jm_file.add(new JMenuItem("New Order", 'n'));
  50. JMenuItem exit = jm_file.add(new JMenuItem("Exit", 'e'));
  51. JMenuItem about = jm_help.add(new JMenuItem("About", 'a'));
  52. exit.addActionListener(this);
  53. about.addActionListener(this);
  54. jmbTop.add(jm_file);
  55. jmbTop.add(jm_help);
  56. c.fill = GridBagConstraints.HORIZONTAL;
  57. c.weightx=0.5;
  58. c.gridwidth=3;
  59. c.gridx = 0;
  60. c.gridy = 0;
  61. jfrmTakeOut.add(jmbTop, c);
  62. //*************Initialize MenuBar END*************//
  63.  
  64. //*************Initialize OrderMenu START*************//
  65. jpnlMenu = new JPanel(new FlowLayout());
  66. jpnlMenu.setPreferredSize(new Dimension(681,150));
  67. jpnlMenu.setBackground(new Color(238,238,238));
  68. c.fill = GridBagConstraints.HORIZONTAL;
  69. c.ipady = 0; //reset to default
  70. c.weighty = 1.0; //request any extra vertical space
  71. c.anchor = GridBagConstraints.PAGE_START; //bottom of space
  72. c.insets = new Insets(0,0,0,0); //top padding
  73. c.gridx = 0; //aligned with button 2
  74. c.gridwidth = 2; //2 columns wide
  75. c.gridy = 1; //third row
  76. jfrmTakeOut.add(jpnlMenu, c);
  77. //*************Initialize OrderMenu END*************//
  78.  
  79. //*************Initialize Content Area START*************//
  80. JPanel jpnlContent = new JPanel(new BorderLayout());
  81. jpnlContent.setPreferredSize(new Dimension(681,346));
  82. c.fill = GridBagConstraints.HORIZONTAL;
  83. c.ipady = 0; //reset to default
  84. c.weighty = 1.0; //request any extra vertical space
  85. c.anchor = GridBagConstraints.PAGE_START; //bottom of space
  86. c.insets = new Insets(0,0,0,0); //top padding
  87. c.gridx = 0; //aligned with button 2
  88. c.gridwidth = 2; //2 columns wide
  89. c.gridy = 2; //third row
  90. jpnlContent.setBorder(BorderFactory.createMatteBorder(2,0,0,0,Color.BLACK));
  91. jfrmTakeOut.add(jpnlContent, c);
  92. //*************Initialize Content Area END*************//
  93.  
  94. //********************Initialize and Populate Array START********************//
  95. initializeArray();
  96. populateList();
  97. //********************Initialize and Populate Array END********************//
  98.  
  99. //*************Initialize Content Order Options START*************//
  100. jpnlOrderOptions = new JPanel(new BorderLayout());
  101. jpnlOrderOptions.setBorder(BorderFactory.createMatteBorder(0,0,0,1,Color.BLACK));
  102. jpnlOrderOptions.setPreferredSize(new Dimension(440,346));
  103. jpnlContent.add(jpnlOrderOptions, BorderLayout.WEST);
  104.  
  105. model = new DefaultListModel();
  106. list = new JList(model);
  107. JScrollPane pane = new JScrollPane(list);
  108. jpnlOrderOptions.setBorder(BorderFactory.createMatteBorder(0,0,0,1,Color.BLACK));
  109. pane.setPreferredSize(new Dimension(440,346));
  110. jpnlOrderOptions.add(pane);
  111. //*************Initialize Content Order Options END*************//
  112.  
  113. //*************Initialize Content Final Order START*************//
  114. jpnlFinalOrder = new JPanel();
  115. jpnlFinalOrder.setLayout(new BoxLayout(jpnlFinalOrder, BoxLayout.Y_AXIS));
  116. jpnlFinalOrder.setBorder(BorderFactory.createMatteBorder(0,0,0,0,Color.BLACK));
  117. jpnlFinalOrder.setPreferredSize(new Dimension(398,346));
  118. jpnlContent.add(jpnlFinalOrder, BorderLayout.EAST);
  119. //*************Initialize Content Final Order END*************//
  120.  
  121. //*************ADD Content Order Options START*************//
  122. JLabel jlbTitle = new JLabel("Order Options");
  123. jlbTitle.setFont(new Font("Serfif", Font.ITALIC, 17));
  124. jpnlOrderOptions.add(jlbTitle, BorderLayout.PAGE_START);
  125.  
  126. //*************ADD Content Order Options END*************//
  127.  
  128. //*************ADD Content Final Order START*************//
  129. JLabel jlbFinalOrder = new JLabel("Your Order");
  130. jlbFinalOrder.setFont(new Font("Serfif", Font.ITALIC, 17));
  131. jpnlFinalOrder.add(jlbFinalOrder);
  132.  
  133. JLabel test1 = new JLabel("1");
  134. JLabel test2 = new JLabel("7");
  135.  
  136. jpnlFinalOrder.add(test1);
  137. jpnlFinalOrder.add(test2);
  138. //*************ADD Content Final Order END*************//
  139.  
  140. //********************Item Panels START********************//
  141. //Burger
  142. JPanel jpnlBurgerItem = new JPanel(new FlowLayout());
  143. jpnlBurgerItem.setPreferredSize(new Dimension(130,346));
  144. JLabel jlbBurgerImage = new JLabel("");
  145. jlbBurgerImage.setPreferredSize(new Dimension(100,90));
  146. imgURL=foodList.get(0).getFoodImage();
  147. try { albumart = ImageIO.read(new File(imgURL)); }catch (IOException ioe) {}
  148. jlbBurgerImage.setIcon(new ImageIcon(albumart));
  149. jchkBurger = new JCheckBox(foodList.get(0).getFoodName());
  150. jpnlMenu.add(jpnlBurgerItem,BorderLayout.LINE_START);
  151. jpnlBurgerItem.add(jlbBurgerImage, BorderLayout.PAGE_START);
  152. jpnlBurgerItem.add(jchkBurger, BorderLayout.PAGE_END);
  153. //Pizza
  154. JPanel jpnlPizzaItem = new JPanel(new FlowLayout());
  155. jpnlPizzaItem.setPreferredSize(new Dimension(120,346));
  156. JLabel jlbPizzaImage = new JLabel("");
  157. jlbPizzaImage.setPreferredSize(new Dimension(100,90));
  158. imgURL=foodList.get(1).getFoodImage();
  159. try { albumart = ImageIO.read(new File(imgURL)); }catch (IOException ioe) {}
  160. jlbPizzaImage.setIcon(new ImageIcon(albumart));
  161. jchkPizza = new JCheckBox(foodList.get(1).getFoodName());
  162. jpnlMenu.add(jpnlPizzaItem);
  163. jpnlPizzaItem.add(jlbPizzaImage, BorderLayout.PAGE_START);
  164. jpnlPizzaItem.add(jchkPizza, BorderLayout.PAGE_END);
  165. //Salad
  166. JPanel jpnlSaladItem = new JPanel(new FlowLayout());
  167. jpnlSaladItem.setPreferredSize(new Dimension(120,346));
  168. JLabel jlbSaladImage = new JLabel("");
  169. jlbSaladImage.setPreferredSize(new Dimension(100,90));
  170. imgURL=foodList.get(2).getFoodImage();
  171. try { albumart = ImageIO.read(new File(imgURL)); }catch (IOException ioe) {}
  172. jlbSaladImage.setIcon(new ImageIcon(albumart));
  173. jchkSalad = new JCheckBox(foodList.get(2).getFoodName());
  174. jpnlMenu.add(jpnlSaladItem);
  175. jpnlSaladItem.add(jlbSaladImage, BorderLayout.PAGE_START);
  176. jpnlSaladItem.add(jchkSalad, BorderLayout.PAGE_END);
  177. //Fries
  178. JPanel jpnlFriesItem = new JPanel(new FlowLayout());
  179. jpnlFriesItem.setPreferredSize(new Dimension(120,346));
  180. JLabel jlbFriesImage = new JLabel("");
  181. jlbFriesImage.setPreferredSize(new Dimension(100,90));
  182. imgURL=foodList.get(3).getFoodImage();
  183. try { albumart = ImageIO.read(new File(imgURL)); }catch (IOException ioe) {}
  184. jlbFriesImage.setIcon(new ImageIcon(albumart));
  185. jchkFries = new JCheckBox(foodList.get(3).getFoodName());
  186. jpnlMenu.add(jpnlFriesItem);
  187. jpnlFriesItem.add(jlbFriesImage, BorderLayout.PAGE_START);
  188. jpnlFriesItem.add(jchkFries, BorderLayout.PAGE_END);
  189. //Coke
  190. JPanel jpnlCokeItem = new JPanel(new FlowLayout());
  191. jpnlCokeItem.setPreferredSize(new Dimension(120,346));
  192. JLabel jlbCokeImage = new JLabel("");
  193. jlbCokeImage.setPreferredSize(new Dimension(100,90));
  194. imgURL=foodList.get(4).getFoodImage();
  195. try { albumart = ImageIO.read(new File(imgURL)); }catch (IOException ioe) {}
  196. jlbCokeImage.setIcon(new ImageIcon(albumart));
  197. jchkCoke = new JCheckBox(foodList.get(4).getFoodName());
  198. jpnlMenu.add(jpnlCokeItem);
  199. jpnlCokeItem.add(jlbCokeImage, BorderLayout.PAGE_START);
  200. jpnlCokeItem.add(jchkCoke, BorderLayout.PAGE_END);
  201. //Ice Cream
  202. JPanel jpnlIceCreamItem = new JPanel(new FlowLayout());
  203. jpnlIceCreamItem.setPreferredSize(new Dimension(160,346));
  204. JLabel jlbIceCreamImage = new JLabel("");
  205. jlbIceCreamImage.setPreferredSize(new Dimension(100,90));
  206. imgURL=foodList.get(5).getFoodImage();
  207. try { albumart = ImageIO.read(new File(imgURL)); }catch (IOException ioe) {}
  208. jlbIceCreamImage.setIcon(new ImageIcon(albumart));
  209. jchkIceCream = new JCheckBox(foodList.get(5).getFoodName());
  210. jpnlMenu.add(jpnlIceCreamItem);
  211. jpnlIceCreamItem.add(jlbIceCreamImage, BorderLayout.PAGE_START);
  212. jpnlIceCreamItem.add(jchkIceCream, BorderLayout.PAGE_END);
  213. //********************Item Panels END********************//
  214.  
  215. //*************Add Item Listeners to CheckBoxes START*************//
  216. ButtonGroup btgPizza = new ButtonGroup();
  217. btgPizza.add(jrbPizzaSmall);btgPizza.add(jrbPizzaMedium);btgPizza.add(jrbPizzaLarge);
  218.  
  219. ButtonGroup btgFries = new ButtonGroup();
  220. btgFries.add(jrbFriesSmall);btgFries.add(jrbFriesLarge);
  221.  
  222. ButtonGroup btgIceCream = new ButtonGroup();
  223. btgIceCream.add(jrbIceCreamVanilla);btgIceCream.add(jrbIceCreamChocolate);
  224.  
  225. jchkBurger.addItemListener(new ItemListener() {
  226. public void itemStateChanged(ItemEvent e) {
  227. if (jchkBurger.isSelected()){
  228. JLabel jlbMe = new JLabel("Hello");
  229. jpnlFinalOrder.add(jlbMe);
  230. jlbMe.setVisible(true);
  231. }
  232. else model.removeElement("Chicken Sandwich");
  233. }
  234. });
  235. jchkPizza.addItemListener(new ItemListener() {
  236. public void itemStateChanged(ItemEvent e) {
  237. if (jchkPizza.isSelected()) model.addElement("Chicken Pizza");
  238. else model.removeElement("Chicken Pizza");
  239. }
  240. });
  241. jchkSalad.addItemListener(new ItemListener() {
  242. public void itemStateChanged(ItemEvent e) {
  243. if (jchkSalad.isSelected()) model.addElement("Chicken Salad");
  244. else model.removeElement("Chicken Salad");
  245. }
  246. });
  247. jchkFries.addItemListener(new ItemListener() {
  248. public void itemStateChanged(ItemEvent e) {
  249. if (jchkFries.isSelected()) model.addElement("Yum Yum Fries");
  250. else model.removeElement("Yum Yum Fries");
  251. }
  252. });
  253. jchkCoke.addItemListener(new ItemListener() {
  254. public void itemStateChanged(ItemEvent e) {
  255. if (jchkCoke.isSelected()) model.addElement("Yummy Coke");
  256. else model.removeElement("Yummy Coke");
  257. }
  258. });
  259. jchkIceCream.addItemListener(new ItemListener() {
  260. public void itemStateChanged(ItemEvent e) {
  261. if (jchkIceCream.isSelected()) model.addElement("Yummy Yum Ice Cream");
  262. else model.removeElement("Yummy Yum Ice Cream");
  263. }
  264. });
  265. //*************Add Item Listeners to CheckBoxes END*************//
  266.  
  267.  
  268.  
  269. jfrmTakeOut.setVisible(true);
  270. jfrmTakeOut.setResizable(false);
  271. }
  272.  
  273. public void actionPerformed(ActionEvent ae) {
  274.  
  275. }
  276.  
  277. public void initializeArray(){
  278. foodList.add(new Food("Chicken Sandwich", "chicken_sandwich.png", 410));
  279. foodList.add(new Food("Chicken Pizza", "chicken_pizza.png", 350));
  280. foodList.add(new Food("Chicken Salad", "chicken_salad.png", 417));
  281. foodList.add(new Food("Yum Yum Fries", "french_fries.png", 380));
  282. foodList.add(new Food("Yummy Coke", "coke.png", 97));
  283. foodList.add(new Food("Yummy Yum Ice Cream", "ice_cream.png", 145));
  284. }
  285. public void populateList(){
  286.  
  287. }
  288.  
  289. public static void main(String[] args) {
  290. SwingUtilities.invokeLater(new Runnable() { public void run() { new TakeOutMenu(); } });
  291. }
  292. }
Advertisement
Add Comment
Please, Sign In to add comment