package fenetres; import java.awt.BorderLayout; import java.awt.Color; import java.awt.FlowLayout; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.ListSelectionModel; import javax.swing.SwingConstants; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import MEPTL.commandes; import action.actOpenBaseEvaluation; import baseEvaluations.chargeEvaluationSelected; import baseEvaluations.myTableBaseEvaluation; import net.miginfocom.swing.MigLayout; public class chargeBaseAuDemarrage extends JFrame { private static final long serialVersionUID = 1L; private myTableBaseEvaluation model = new myTableBaseEvaluation(); private JTable table= new JTable(); private JPanel panelHaut = new JPanel(); private JPanel panelBas = new JPanel(); JLabel lblInformationBaseEvluation = new JLabel(""); int indexSelect=0; ListSelectionModel lsm = null; JScrollPane scrollPane = new JScrollPane(); private final JButton btnCheminVersBaseDonnees = new JButton("Travailler avec une autre base
d'évaluation"); private final JPanel panelGauche = new JPanel(); private final JPanel panelDroite = new JPanel(); private final JLabel label = new JLabel(commandes.PathBaseEvaluations); public chargeBaseAuDemarrage() { setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setBounds(100, 100, 1200, 600); int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth(); int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight(); setLocation(( (screenWidth) - getWidth()) / 2, (screenHeight - getHeight()) / 2); ImageIcon img = new ImageIcon(getClass().getResource("/evalwriter.png") ); setIconImage(img.getImage()); setTitle(commandes.Titre + " - La base de données des évaluations"); getContentPane().setLayout(new BorderLayout(2, 2)); model.addOrUpdate(); table = new JTable(model); scrollPane = new JScrollPane(table); //Add the scroll pane to this panel. getContentPane().add(scrollPane,BorderLayout.CENTER); panelBas.setLayout(new MigLayout("", "[394px][394px][]", "[53px]")); panelBas.add(label, "flowy,cell 0 0,grow"); getContentPane().add(panelBas, BorderLayout.SOUTH); btnCheminVersBaseDonnees.setForeground(new Color(0, 128, 192)); btnCheminVersBaseDonnees.setFont(new Font("Tahoma", Font.BOLD, 16)); btnCheminVersBaseDonnees.setIcon(new ImageIcon(chargeBaseAuDemarrage.class.getResource("/resources/sauvegardehistoriqueevaluation.png"))); btnCheminVersBaseDonnees.setSelectedIcon(new ImageIcon(chargeBaseAuDemarrage.class.getResource("/resources/sauvegardehistoriqueevaluation.png"))); panelBas.add(btnCheminVersBaseDonnees, "cell 2 0,alignx right,growy"); lblInformationBaseEvluation.setIcon(new ImageIcon(chargeBaseAuDemarrage.class.getResource("/resources/accueilChargeEvaluation.png"))); //*Le haut lblInformationBaseEvluation.setHorizontalAlignment(SwingConstants.CENTER); getContentPane().add(panelHaut, BorderLayout.NORTH); lblInformationBaseEvluation.setFont(new Font("Tahoma", Font.BOLD, 16)); panelHaut.add(lblInformationBaseEvluation); //*Détection de la ligne sélectionnée table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); FlowLayout flowLayout_1 = (FlowLayout) panelGauche.getLayout(); flowLayout_1.setHgap(10); getContentPane().add(panelGauche, BorderLayout.WEST); FlowLayout flowLayout = (FlowLayout) panelDroite.getLayout(); flowLayout.setHgap(10); getContentPane().add(panelDroite, BorderLayout.EAST); ListSelectionModel rowSM = table.getSelectionModel(); rowSM.addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { //Ignore extra messages. if (e.getValueIsAdjusting()) return; lsm = (ListSelectionModel)e.getSource(); if (lsm.isSelectionEmpty()) { System.out.println("No rows are selected."); } else { indexSelect = lsm.getMinSelectionIndex(); System.out.println("Row " + indexSelect + " is now selected."); } } }); ListenerAction(); setVisible(true); } private void ListenerAction() { /** * Quitter le fenêtre.
*/ addWindowListener(new java.awt.event.WindowAdapter() { @Override public void windowClosing(java.awt.event.WindowEvent windowEvent) { dispose(); } }); /** * Chargement d'une évaluation par double click. */ table.addMouseListener( new MouseListener() { @Override public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { if (e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1) { System.out.println("double clicked"); if(lsm!=null) { if (!lsm.isSelectionEmpty()) { indexSelect = lsm.getMinSelectionIndex(); new chargeEvaluationSelected(indexSelect); commandes.IndexEvaluationCharger = indexSelect; evaluate.getInstance(); dispose(); } } } } } @Override public void mousePressed(MouseEvent e) { } @Override public void mouseReleased(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } }); /** * Bouton chargement depuis un autre emplacement de la base de données. */ btnCheminVersBaseDonnees.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { new ChargePathBaseEvaluation(); new actOpenBaseEvaluation(); label.setText(commandes.PathBaseEvaluations); model.addOrUpdate(); table = new JTable(model); revalidate(); } }); } }