/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * FrameWithMenu.java
 *
 * Created on 2011-11-16, 13:57:09
 */
package javaapplication11;

/**
 *
 * @author prz
 */
public class FrameWithMenu extends javax.swing.JFrame {

    /** Creates new form FrameWithMenu */
    public FrameWithMenu() {
        initComponents();
        setVisible(true); // my code
    }

    /** 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() {
        bindingGroup = new org.jdesktop.beansbinding.BindingGroup();

        grupa = new javax.swing.ButtonGroup();
        popup = new javax.swing.JPopupMenu();
        item1 = new javax.swing.JMenuItem();
        item2 = new javax.swing.JMenuItem();
        item3 = new javax.swing.JMenuItem();
        komunikat = new javax.swing.JLabel();
        panel = new javax.swing.JPanel();
        menuBar = new javax.swing.JMenuBar();
        menu1 = new javax.swing.JMenu();
        element1 = new javax.swing.JMenuItem();
        element2 = new javax.swing.JMenuItem();
        separator = new javax.swing.JPopupMenu.Separator();
        element3 = new javax.swing.JMenuItem();
        menu2 = new javax.swing.JMenu();
        wybór1 = new javax.swing.JCheckBoxMenuItem();
        wybór2 = new javax.swing.JCheckBoxMenuItem();
        jSeparator1 = new javax.swing.JPopupMenu.Separator();
        opcja1 = new javax.swing.JRadioButtonMenuItem();
        opcja2 = new javax.swing.JRadioButtonMenuItem();
        opcja3 = new javax.swing.JRadioButtonMenuItem();
        menu3 = new javax.swing.JMenu();
        podmenu1 = new javax.swing.JMenu();
        element4 = new javax.swing.JMenuItem();
        element5 = new javax.swing.JMenuItem();
        podmenu2 = new javax.swing.JMenu();
        element6 = new javax.swing.JMenuItem();
        element7 = new javax.swing.JMenuItem();

        item1.setText("item 1");
        item1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                item1ActionPerformed(evt);
            }
        });
        popup.add(item1);

        item2.setText("item 2");
        item2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                item2ActionPerformed(evt);
            }
        });
        popup.add(item2);

        item3.setText("item 3");
        item3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                item3ActionPerformed(evt);
            }
        });
        popup.add(item3);

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("przykładowe menu");
        setBounds(new java.awt.Rectangle(120, 120, 240, 120));

        komunikat.setText("komunikat z ostatniej akcji...");
        getContentPane().add(komunikat, java.awt.BorderLayout.PAGE_END);

        panel.setToolTipText("prawy przycisk myszy wyzwoli menu kontekstowe");
        panel.setComponentPopupMenu(popup);
        getContentPane().add(panel, java.awt.BorderLayout.CENTER);

        menu1.setText("pierwszy");

        element1.setText("element 1");
        element1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                element1ActionPerformed(evt);
            }
        });
        menu1.add(element1);

        element2.setText("element 2");
        element2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                element2ActionPerformed(evt);
            }
        });
        menu1.add(element2);
        menu1.add(separator);

        element3.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_3, java.awt.event.InputEvent.CTRL_MASK));
        element3.setText("element 3");

        org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, element3, org.jdesktop.beansbinding.ELProperty.create("${mnemonic}"), element3, org.jdesktop.beansbinding.BeanProperty.create("mnemonic"));
        bindingGroup.addBinding(binding);

        element3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                element3ActionPerformed(evt);
            }
        });
        menu1.add(element3);

        menuBar.add(menu1);

        menu2.setText("drugi");

        wybór1.setText("wybór 1");
        wybór1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                wybór1ActionPerformed(evt);
            }
        });
        menu2.add(wybór1);

        wybór2.setSelected(true);
        wybór2.setText("wybór 2");
        wybór2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                wybór2ActionPerformed(evt);
            }
        });
        menu2.add(wybór2);
        menu2.add(jSeparator1);

        grupa.add(opcja1);
        opcja1.setText("opcja 1");
        opcja1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                opcja1ActionPerformed(evt);
            }
        });
        menu2.add(opcja1);

        grupa.add(opcja2);
        opcja2.setSelected(true);
        opcja2.setText("opcja 2");
        opcja2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                opcja2ActionPerformed(evt);
            }
        });
        menu2.add(opcja2);

        grupa.add(opcja3);
        opcja3.setText("opcja 3");
        opcja3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                opcja3ActionPerformed(evt);
            }
        });
        menu2.add(opcja3);

        menuBar.add(menu2);

        menu3.setText("trzeci");

        podmenu1.setText("podmenu 1");

        element4.setText("element 4");
        element4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                element4ActionPerformed(evt);
            }
        });
        podmenu1.add(element4);

        element5.setText("element 5");
        element5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                element5ActionPerformed(evt);
            }
        });
        podmenu1.add(element5);

        menu3.add(podmenu1);

        podmenu2.setText("podmenu 2");

        element6.setText("element 6");
        element6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                element6ActionPerformed(evt);
            }
        });
        podmenu2.add(element6);

        element7.setText("element 7");
        element7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                element7ActionPerformed(evt);
            }
        });
        podmenu2.add(element7);

        menu3.add(podmenu2);

        menuBar.add(menu3);

        setJMenuBar(menuBar);

        bindingGroup.bind();

        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-480)/2, (screenSize.height-240)/2, 480, 240);
    }// </editor-fold>//GEN-END:initComponents

    private void element1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_element1ActionPerformed
        komunikat.setText("element 1"); // my code
    }//GEN-LAST:event_element1ActionPerformed

    private void element2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_element2ActionPerformed
        komunikat.setText("element 2"); // my code
    }//GEN-LAST:event_element2ActionPerformed

    private void element3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_element3ActionPerformed
        komunikat.setText("element 3"); // my code
    }//GEN-LAST:event_element3ActionPerformed

    private void item1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_item1ActionPerformed
        komunikat.setText("item 1"); // my code
    }//GEN-LAST:event_item1ActionPerformed

    private void item2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_item2ActionPerformed
        komunikat.setText("item 2"); // my code
    }//GEN-LAST:event_item2ActionPerformed

    private void item3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_item3ActionPerformed
        komunikat.setText("item 3"); // my code
    }//GEN-LAST:event_item3ActionPerformed

    private void wybór1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_wybór1ActionPerformed
        komunikat.setText("wybór 1"); // my code
    }//GEN-LAST:event_wybór1ActionPerformed

    private void wybór2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_wybór2ActionPerformed
        komunikat.setText("wybór 2"); // my code
    }//GEN-LAST:event_wybór2ActionPerformed

    private void opcja1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_opcja1ActionPerformed
        komunikat.setText("opcja 1"); // my code
    }//GEN-LAST:event_opcja1ActionPerformed

    private void opcja2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_opcja2ActionPerformed
        komunikat.setText("opcja 2"); // my code
    }//GEN-LAST:event_opcja2ActionPerformed

    private void opcja3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_opcja3ActionPerformed
        komunikat.setText("opcja 3"); // my code
    }//GEN-LAST:event_opcja3ActionPerformed

    private void element4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_element4ActionPerformed
        komunikat.setText("element 4"); // my code
    }//GEN-LAST:event_element4ActionPerformed

    private void element5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_element5ActionPerformed
        komunikat.setText("element 5"); // my code
    }//GEN-LAST:event_element5ActionPerformed

    private void element6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_element6ActionPerformed
        komunikat.setText("element 6"); // my code
    }//GEN-LAST:event_element6ActionPerformed

    private void element7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_element7ActionPerformed
        komunikat.setText("element 7"); // my code
    }//GEN-LAST:event_element7ActionPerformed

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                new FrameWithMenu();
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenuItem element1;
    private javax.swing.JMenuItem element2;
    private javax.swing.JMenuItem element3;
    private javax.swing.JMenuItem element4;
    private javax.swing.JMenuItem element5;
    private javax.swing.JMenuItem element6;
    private javax.swing.JMenuItem element7;
    private javax.swing.ButtonGroup grupa;
    private javax.swing.JMenuItem item1;
    private javax.swing.JMenuItem item2;
    private javax.swing.JMenuItem item3;
    private javax.swing.JPopupMenu.Separator jSeparator1;
    private javax.swing.JLabel komunikat;
    private javax.swing.JMenu menu1;
    private javax.swing.JMenu menu2;
    private javax.swing.JMenu menu3;
    private javax.swing.JMenuBar menuBar;
    private javax.swing.JRadioButtonMenuItem opcja1;
    private javax.swing.JRadioButtonMenuItem opcja2;
    private javax.swing.JRadioButtonMenuItem opcja3;
    private javax.swing.JPanel panel;
    private javax.swing.JMenu podmenu1;
    private javax.swing.JMenu podmenu2;
    private javax.swing.JPopupMenu popup;
    private javax.swing.JPopupMenu.Separator separator;
    private javax.swing.JCheckBoxMenuItem wybór1;
    private javax.swing.JCheckBoxMenuItem wybór2;
    private org.jdesktop.beansbinding.BindingGroup bindingGroup;
    // End of variables declaration//GEN-END:variables
}
