public DriverUserInterface( String userName, String password, JPanel graphicPanel, LoginUserInterface loginUserInterface) { this.driver = (Driver) driverService.login(userName, password); this.graphicPanel = graphicPanel; this.loginUserInterface = loginUserInterface; WindowUtilities.setNativeLookAndFeel(); reportLocationButton = new JButton("اعلام موقعیت", new ImageIcon("img/reportloc.png")); reportLocationButton.setVerticalTextPosition(AbstractButton.BOTTOM); reportLocationButton.setHorizontalTextPosition(AbstractButton.CENTER); reportLocationButton.setActionCommand("reportloc"); reportLocationButton.addActionListener(this); loadShipmentButton = new JButton("بارگذاری", new ImageIcon("img/load.png")); loadShipmentButton.setVerticalTextPosition(AbstractButton.BOTTOM); loadShipmentButton.setHorizontalTextPosition(AbstractButton.CENTER); loadShipmentButton.setActionCommand("loadShipment"); loadShipmentButton.addActionListener(this); mainMenuButton = new JButton(new ImageIcon("img/home.png")); mainMenuButton.setActionCommand("mainmenu"); mainMenuButton.addActionListener(this); refreshButton = new JButton(new ImageIcon("img/refresh.png")); refreshButton.setActionCommand("update"); refreshButton.addActionListener(this); logoutButton = new JButton(new ImageIcon("img/logout.png")); logoutButton.setActionCommand("logout"); logoutButton.addActionListener(this); reportButton = new JButton("اعلام"); reportButton.setActionCommand("report"); reportButton.addActionListener(this); pickupButton = new JButton("بارگذاری"); pickupButton.setActionCommand("pickup"); pickupButton.addActionListener(this); title = new JLabel("در سیستم به نام " + driver.getUsername()); title.setFont(new Font("sansserif", Font.PLAIN, 24)); title.setForeground(new Color(0.85f, 0.0f, 0.0f)); this.update("main"); }
public void update() { graphicPanel.removeAll(); graphicPanel.add(title); graphicPanel.add(mainMenuButton); graphicPanel.add(refreshButton); graphicPanel.add(logoutButton); graphicPanel.setLayout(new FlowLayout()); JSeparator separator = new JSeparator(SwingConstants.HORIZONTAL); separator.setPreferredSize(new Dimension(600, 10)); graphicPanel.add(separator); if (page.matches("main")) { graphicPanel.add(reportLocationButton); graphicPanel.add(loadShipmentButton); } else if (page.matches("reportloc")) { locationComboBox = new JComboBox(driver.getLocation().getNeighbours().toArray()); graphicPanel.add(locationComboBox); graphicPanel.add(reportButton); } else if (page.matches("loadShipment")) { shipmentList = new ArrayList<Shipment>(); for (int i = 0; i < driverService.getAssignedShipments().size(); ++i) { if (driverService.canPickup(driver, driverService.getAssignedShipments().get(i))) { shipmentList.add(driverService.getAssignedShipments().get(i)); } } Object[][] tableContent = new Object[shipmentList.size()][shipmentTableColumnTitles.length]; for (int i = 0; i < shipmentList.size(); ++i) { tableContent[i][0] = shipmentList.get(i).getType(); tableContent[i][1] = shipmentList.get(i).getApproximateWeight(); tableContent[i][2] = shipmentList.get(i).getDueDate(); tableContent[i][3] = shipmentList.get(i).getDestination(); } shipmentTable = new JTable(tableContent, shipmentTableColumnTitles); shipmentTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); JScrollPane tablePane = new JScrollPane(shipmentTable); tablePane.setPreferredSize(new Dimension(550, 250)); graphicPanel.add(tablePane); graphicPanel.add(pickupButton); } graphicPanel.validate(); graphicPanel.repaint(); }