// 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); }