Package View

Source Code of View.NewFile$MyListRender

package View;

import Modele.GestionPromotion;
import Modele.Promotion;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import javax.swing.AbstractAction;
import javax.swing.ActionMap;
import javax.swing.InputMap;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.KeyStroke;
import javax.swing.ListCellRenderer;
import org.jdesktop.beansbinding.AutoBinding;
import org.jdesktop.swingbinding.JListBinding;
import org.jdesktop.swingbinding.SwingBindings;

/**
*
* @author tiph
*/
public class NewFile extends javax.swing.JDialog {

        /**
         * Gere l'affichage des elements de la liste
         */
        private class MyListRender extends JLabel implements ListCellRenderer {

                @Override
                public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {

                        if (isSelected) {
                                setBackground(list.getSelectionBackground());
                                setForeground(list.getSelectionForeground());
                        } else {
                                setBackground(Color.WHITE);
                                setForeground(Color.BLACK);
                        }
                        //setEnabled(list.isEnabled());
                        //setFont(list.getFont());
                        setOpaque(true);
                        setText(((Promotion) value).getLibelle());
                        setPreferredSize(new Dimension(list.getWidth(), 30));
                        return this;
                }
        }
        /**
         * A return status code - returned if Cancel button has been pressed
         */
        public static final int RET_CANCEL = 0;
        /**
         * A return status code - returned if OK button has been pressed
         */
        public static final int RET_OK = 1;

        /**
         * Creates new form NewFile
         */
        public NewFile(java.awt.Frame parent, boolean modal) {
                super(parent, modal);
                initComponents();

                // Close the dialog when Esc is pressed
                String cancelName = "cancel";
                InputMap inputMap = getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
                inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), cancelName);
                ActionMap actionMap = getRootPane().getActionMap();
                actionMap.put(cancelName, new AbstractAction() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                                doClose(RET_CANCEL);
                        }
                });

                // Bind les promotions a la liste de la vue
                JListBinding bl = SwingBindings.createJListBinding(AutoBinding.UpdateStrategy.READ, GestionPromotion.getInstance().getPromotions(), l_promos);
                bl.bind();

        }

        /**
         * @return the return status of this dialog - one of RET_OK or
         * RET_CANCEL
         */
        public int getReturnStatus() {
                return returnStatus;
        }

        public Promotion getPromotionSelected() {
                if (returnStatus == RET_OK) {
                        return (Promotion) l_promos.getSelectedValue();
                }
                return null;
        }

        /**
         * This method is called from within the constructor to initialize the
         * form. WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
        private void initComponents() {

                okButton = new javax.swing.JButton();
                cancelButton = new javax.swing.JButton();
                jScrollPane1 = new javax.swing.JScrollPane();
                l_promos = new javax.swing.JList();
                jLabel1 = new javax.swing.JLabel();

                setResizable(false);
                addWindowListener(new java.awt.event.WindowAdapter() {
                        public void windowClosing(java.awt.event.WindowEvent evt) {
                                closeDialog(evt);
                        }
                });

                okButton.setText("OK");
                okButton.addActionListener(new java.awt.event.ActionListener() {
                        public void actionPerformed(java.awt.event.ActionEvent evt) {
                                okButtonActionPerformed(evt);
                        }
                });

                cancelButton.setText("Cancel");
                cancelButton.addActionListener(new java.awt.event.ActionListener() {
                        public void actionPerformed(java.awt.event.ActionEvent evt) {
                                cancelButtonActionPerformed(evt);
                        }
                });

                l_promos.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
                l_promos.setCellRenderer(new MyListRender());
                l_promos.addMouseListener(new java.awt.event.MouseAdapter() {
                        public void mouseClicked(java.awt.event.MouseEvent evt) {
                                l_promosMouseClicked(evt);
                        }
                });
                jScrollPane1.setViewportView(l_promos);

                jLabel1.setText("Sélectionner la promotion pour créer la nouvelle feuille de note :");

                javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
                getContentPane().setLayout(layout);
                layout.setHorizontalGroup(
                        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(okButton, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(cancelButton)
                                .addContainerGap())
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING)
                        .addGroup(layout.createSequentialGroup()
                                .addContainerGap()
                                .addComponent(jLabel1)
                                .addContainerGap())
                );

                layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {cancelButton, okButton});

                layout.setVerticalGroup(
                        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(jLabel1)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 235, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                        .addComponent(cancelButton)
                                        .addComponent(okButton))
                                .addContainerGap())
                );

                getRootPane().setDefaultButton(okButton);

                pack();
        }// </editor-fold>//GEN-END:initComponents

    private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okButtonActionPerformed
            if (l_promos.getSelectedValue() != null) {
                    doClose(RET_OK);
            }

    }//GEN-LAST:event_okButtonActionPerformed

    private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed
            doClose(RET_CANCEL);
    }//GEN-LAST:event_cancelButtonActionPerformed

    private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog
            doClose(RET_CANCEL);
    }//GEN-LAST:event_closeDialog

        private void l_promosMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_l_promosMouseClicked
                if (evt.getClickCount() == 2) {
                        if (l_promos.getSelectedValue() != null) {
                                okButtonActionPerformed(null);
                        }
                }
        }//GEN-LAST:event_l_promosMouseClicked

        /**
         * Ferme la fenetre
         *
         * @param retStatus valeur pour verifier si quité en validant ou annulé
         */
        private void doClose(int retStatus) {
                returnStatus = retStatus;
                setVisible(false);
                dispose();
        }
        // Variables declaration - do not modify//GEN-BEGIN:variables
        private javax.swing.JButton cancelButton;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JScrollPane jScrollPane1;
        private javax.swing.JList l_promos;
        private javax.swing.JButton okButton;
        // End of variables declaration//GEN-END:variables
        private int returnStatus = RET_CANCEL;
}
TOP

Related Classes of View.NewFile$MyListRender

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.