/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package vue.terminal; import controller.terminal.controller.data.ReturnSummary; import controller.terminal.controller.TerminalReturnSummaryController; import controller.terminal.interfacesGUI.TerminalReturnSummary; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.GridLayout; import java.awt.Insets; import java.awt.LayoutManager; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JScrollPane; import javax.swing.JTextField; /** * * @author Valentin SEITZ */ public class TerminalReturnSummaryPanel extends AbstractTerminalPanel implements TerminalReturnSummary { private TerminalReturnSummaryBikesPanel bikeSummaryPanels; private JTextField txtGuarantee; private JTextField txtSupplementAmount; private JButton btnConfirm; public TerminalReturnSummaryPanel(LayoutManager lm, boolean bln) { super(lm, bln); initialize(); } public TerminalReturnSummaryPanel(LayoutManager lm) { super(lm); initialize(); } public TerminalReturnSummaryPanel(boolean bln) { super(bln); initialize(); } public TerminalReturnSummaryPanel() { initialize(); } private void initialize() { GridBagLayout gbl; GridBagConstraints gbc; {//Content gbl = new GridBagLayout(); { gbl.columnWidths = new int[]{0, 2 * TerminalMainFrame.ROW_HEIGHT, 2 * TerminalMainFrame.ROW_HEIGHT, 0}; gbl.rowHeights = new int[]{0, TerminalMainFrame.ROW_HEIGHT, TerminalMainFrame.ROW_HEIGHT, 0}; gbl.columnWeights = new double[]{1.0, 0.0, 0.0, Double.MIN_VALUE}; gbl.rowWeights = new double[]{1.0, 0.0, 0.0, Double.MIN_VALUE}; } this.getPanelContent().setLayout(gbl); JScrollPane scrollPane = new JScrollPane(); { this.bikeSummaryPanels = new TerminalReturnSummaryBikesPanel(); scrollPane.setViewportView(this.bikeSummaryPanels); {//Position gbc = new GridBagConstraints(); gbc.gridwidth = 3; gbc.insets = new Insets(0, 0, TerminalMainFrame.VERTICAL_GAP, 0); gbc.fill = GridBagConstraints.BOTH; gbc.gridx = 0; gbc.gridy = 0; } } this.getPanelContent().add(scrollPane, gbc); JLabel lblTotalAmount = new JLabel("Supplement à payer"); {//Position gbc = new GridBagConstraints(); gbc.anchor = GridBagConstraints.EAST; gbc.fill = GridBagConstraints.BOTH; gbc.insets = new Insets(0, 0, TerminalMainFrame.VERTICAL_GAP, TerminalMainFrame.HORIZONTAL_GAP); gbc.gridx = 1; gbc.gridy = 1; } this.getPanelContent().add(lblTotalAmount, gbc); this.txtSupplementAmount = new JTextField(); { this.txtSupplementAmount.setEnabled(false); this.txtSupplementAmount.setColumns(10); {//Position gbc = new GridBagConstraints(); gbc.insets = new Insets(0, 0, TerminalMainFrame.VERTICAL_GAP, TerminalMainFrame.HORIZONTAL_GAP); gbc.fill = GridBagConstraints.BOTH; gbc.gridx = 2; gbc.gridy = 1; } } this.getPanelContent().add(this.txtSupplementAmount, gbc); JLabel lblGuarantee = new JLabel("Garantie (restitu\u00E9e)"); {//Position gbc = new GridBagConstraints(); gbc.anchor = GridBagConstraints.EAST; gbc.fill = GridBagConstraints.BOTH; gbc.insets = new Insets(0, 0, 0, TerminalMainFrame.HORIZONTAL_GAP); gbc.gridx = 1; gbc.gridy = 2; } this.getPanelContent().add(lblGuarantee, gbc); this.txtGuarantee = new JTextField(); { this.txtGuarantee.setEnabled(false); this.txtGuarantee.setColumns(10); {//Position gbc = new GridBagConstraints(); gbc.insets = new Insets(0, 0, 0, TerminalMainFrame.HORIZONTAL_GAP); gbc.fill = GridBagConstraints.BOTH; gbc.gridx = 2; gbc.gridy = 2; } } this.getPanelContent().add(this.txtGuarantee, gbc); } {//Actions this.getPanelActions().setLayout(new GridLayout(1, 1)); this.btnConfirm = new JButton("Ok"); { this.btnConfirm.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { TerminalReturnSummaryController.getTerminalReturnSummaryController().doConfirm(); } }); } this.getPanelActions().add(this.btnConfirm); } } @Override public void init() { ReturnSummary summary = TerminalReturnSummaryController.getTerminalReturnSummaryController().getReturnSummary(); this.bikeSummaryPanels.setSummary(summary); this.txtGuarantee.setText("" + summary.guaranteeAmount()); this.txtSupplementAmount.setText("" + summary.supplementAmount()); } }