public void buyItemFromUser(User buyer, User seller, Item currentItem) // PRE: buyer, seller, currentItem must be initialized // POST: Purchases item from the store and has stores it into inventory. { int buyer_balance; // The new balance of the buyer int seller_balance; // The new balance of the seller String str; // First query String str2; // Second query String str3; // Third query buyer_balance = buyer.getBalance() - currentItem.getPrice(); seller_balance = seller.getBalance() + currentItem.getPrice(); if (buyer_balance > 0) // If the buyer wont go negative { str = String.format( "Update users set balance = (%d) where user_name = '%s'", buyer_balance, buyer.getUserName()); str2 = String.format( "Update users set balance = (%d) where user_name = '%s'", seller_balance, seller.getUserName()); str3 = String.format( "Update items set owner_id = (%d) where item_name = '%s'", buyer.getUserId(), currentItem.getItemName()); updateTables(str, str2, str3); } else { // Prompt the user with an error JOptionPane.showMessageDialog( null, "You will go bankrupt if you try buying that, try selling some items."); } }
// Constructor receives the filename Rolodex(String filename) throws FileNotFoundException { File file = new File(filename); Scanner scanner = new Scanner(file); // Split the line with ~ while (scanner.hasNext()) { tokens = scanner.nextLine().split("~"); name = tokens[0]; email = tokens[1]; pictures = tokens[tokens.length - 1]; User user = new User(); user.setUserName(name); user.setUserEmail(email); user.setPicture(pictures); userList.add(user); } frame = new JFrame("Rolodex"); frame.setSize(700, 200); // Menu JMenuBar jmb = new JMenuBar(); JMenu jmFile = new JMenu("File"); JMenuItem jmiOpen = new JMenuItem("Open"); jmiOpen.setEnabled(false); JMenuItem jmiExit = new JMenuItem("Exit"); jmiExit.setMnemonic(KeyEvent.VK_X); jmFile.add(jmiOpen); jmFile.addSeparator(); jmFile.add(jmiExit); jmb.add(jmFile); jmiOpen.addActionListener(this); jmiExit.addActionListener(this); JMenu jmTabs = new JMenu("Tabs"); jmTabs.setMnemonic(KeyEvent.VK_T); JMenu jmiplacement = new JMenu("Placement"); JMenuItem jmitop = new JMenuItem("Top"); JMenuItem jmiright = new JMenuItem("Right"); JMenuItem jmibottom = new JMenuItem("Bottom"); JMenuItem jmileft = new JMenuItem("Left"); jmiplacement.add(jmitop); jmiplacement.add(jmiright); jmiplacement.add(jmibottom); jmiplacement.add(jmileft); jmitop.addActionListener(this); jmiright.addActionListener(this); jmibottom.addActionListener(this); jmileft.addActionListener(this); JMenu jmilayoutpolicy = new JMenu("Layout policy"); JMenuItem jmiscroll = new JMenuItem("Scroll"); JMenuItem jmiwrap = new JMenuItem("Wrap"); jmilayoutpolicy.add(jmiscroll); jmilayoutpolicy.add(jmiwrap); jmiscroll.addActionListener(this); jmiwrap.addActionListener(this); JMenuItem jmidefaults = new JMenuItem("Defaults"); jmidefaults.setMnemonic(KeyEvent.VK_D); jmidefaults.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.CTRL_MASK)); jmidefaults.addActionListener(this); jmTabs.add(jmiplacement); jmTabs.add(jmilayoutpolicy); jmTabs.addSeparator(); jmTabs.add(jmidefaults); jmb.add(jmTabs); JMenu jmHelp = new JMenu("Help"); JMenuItem jmiabout = new JMenuItem("About"); jmiabout.addActionListener(this); jmHelp.add(jmiabout); jmb.add(jmHelp); frame.setJMenuBar(jmb); jtp = new JTabbedPane(SwingConstants.TOP, JTabbedPane.SCROLL_TAB_LAYOUT); topPanel = new JPanel(); topPanel.setLayout(new BorderLayout()); for (User user : userList) { image = new ImageIcon(user.getPicture()); panel = new JPanel(); labname = new JLabel("Name: "); txtname = new JTextField(20); txtname.setText(user.getUserName()); labemail = new JLabel("Email: "); txtemail = new JTextField(20); txtemail.setText(user.getUserEmail()); l = new JLabel(image); l.setHorizontalAlignment(SwingConstants.LEFT); panel.add(l); panel.add(labname); panel.add(txtname); panel.add(labemail); panel.add(txtemail); jtp.addTab(user.getUserName(), panel); topPanel.add(jtp); } frame.add(jtp); center(frame); frame.setVisible(true); }