import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
import javax.swing.event.*;

public class Swing extends JFrame
{
    Swing()
    {
        Container cp = getContentPane();
        cp.setLayout(new FlowLayout());
        final JCheckBox cb = new JCheckBox("Zymes laukelis");
        final JRadioButton rb1 = new JRadioButton("Radijo mygtukas 1");
        final JRadioButton rb2 = new JRadioButton("Radijo mygtukas 2");
        ButtonGroup g = new ButtonGroup();
        g.add(rb1);
        g.add(rb2);
        final JComboBox combo = new JComboBox();
        combo.addItem("Pirmas");
        combo.addItem("Antras");
        combo.addItem("Trecias");
        final JSlider sl = new JSlider(JSlider.HORIZONTAL, 0, 100, 50);
        sl.setPaintTicks(true);
        sl.setPaintLabels(true);
        sl.setMajorTickSpacing(25);
        sl.setBorder(new TitledBorder("Slankiklis"));
        final JTextArea ta = new JTextArea(8, 20);
        JPanel panel = new JPanel();
        panel.setBackground(Color.
blue);
        panel.setPreferredSize(new Dimension(100, 100));
        cp.add(cb);
        ActionListener al1 = new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                if(cb.isSelected())
                    ta.setText("Zymes laukelis pazymetas\n");
                else
                    ta.setText("Zymes laukelis nepazymetas\n");
                if(rb1.isSelected())
                    ta.setText("Pasirinktas pirmasis radijo mygtukas\n");
                else if(rb2.isSelected())
                    ta.setText("Pasirinktas antrasis radijo mygtukas\n");
                ta.append("Slankiklio reiksme: " + sl.getValue() + "\n");
                ta.append("Combo box parinkta: " + combo.getSelectedItem() + "\n");
            }
        };
        cb.addActionListener(al1);
        cp.add(combo);
        cp.add(rb1);
        cp.add(rb2);
        ActionListener al2 = new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                if(rb1.isSelected())
                    ta.setText("Pasirinktas pirmasis radijo mygtukas\n");
                else if(rb2.isSelected())
                    ta.setText("Pasirinktas antrasis radijo mygtukas\n");
                if(cb.isSelected())
                    ta.append("Zymes laukelis pazymetas\n");
                else
                    ta.append("Zymes laukelis nepazymetas\n");
                ta.append("Slankiklio reiksme: " + sl.getValue() + "\n");
                ta.append("Combo box parinkta: " + combo.getSelectedItem() + "\n");
            }
        };
        rb1.addActionListener(al2);
        rb2.addActionListener(al2);
        ActionListener al3 = new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                ta.setText("Pasirinkta: " + ((JComboBox)e.getSource()).getSelectedItem() + "\n");
                ta.append("Slankiklio reiksme: " + sl.getValue() + "\n");
                if(rb1.isSelected())
                    ta.setText("Pasirinktas pirmasis radijo mygtukas\n");
                else if(rb2.isSelected())
                    ta.setText("Pasirinktas antrasis radijo mygtukas\n");
                if(cb.isSelected())
                    ta.append("Zymes laukelis pazymetas\n");
                else
                    ta.append("Zymes laukelis nepazymetas\n");
            }
        };
        combo.addActionListener(al3);
        cp.add(sl);
        ChangeListener cl1 = new ChangeListener()
        {
            public void stateChanged(ChangeEvent e)
            {
                ta.setText("Slankiklio reiksme: " + sl.getValue() + "\n");
                ta.append("Combo box parinkta: " + combo.getSelectedItem() + "\n");
                if(rb1.isSelected())
                    ta.append("Parinktas pirmasis radijo mygtukas");
                else if(rb2.isSelected())
                    ta.append("Parinktas antrasis radijo mygtukas");
                if(cb.isSelected())
                    ta.append("Zymes laukelis pazymetas\n");
                else
                    ta.append("Zymes laukelis nepazymetas\n");
            }
        };
        sl.addChangeListener(cl1);
        cp.add(ta);
        cp.add(panel);
        MouseAdapter ma1 = new MouseAdapter()
        {
            public void mouseEntered(MouseEvent e)
            {
                ta.setText("Uzvesta pele\n");
                ta.append("Slankiklio reiksme: " + sl.getValue() + "\n");
                ta.append("Combo box parinkta: " + combo.getSelectedItem() + "\n");
                if(rb1.isSelected())
                    ta.append("Parinktas pirmasis radijo mygtukas\n");
                else if(rb2.isSelected())
                    ta.append("Parinktas antrasis radijo mygtukas\n");
                if(cb.isSelected())
                    ta.append("Zymes laukelis pazymetas\n");
                else
                    ta.append("Zymes laukelis nepazymetas\n");
            }
        };
        MouseAdapter ma2 = new MouseAdapter()
        {
            public void mouseExited(MouseEvent e)
            {
                ta.setText("Pele patraukta\n");
                ta.append("Slankiklio reiksme: " + sl.getValue() + "\n");
                ta.append("Combo box parinkta: " + combo.getSelectedItem() + "\n");
                if(rb1.isSelected())
                    ta.append("Parinktas pirmasis radijo mygtukas\n");
                else if(rb2.isSelected())
                    ta.append("Parinktas antrasis radijo mygtukas\n");
                if(cb.isSelected())
                    ta.append("Zymes laukelis pazymetas\n");
                else
                    ta.append("Zymes laukelis nepazymetas\n");
            }
        };
        panel.addMouseListener(ma1);
        panel.addMouseListener(ma2);
        JMenu m1 = new JMenu("Meniu 1");
        JMenuItem m1i1 = new JMenuItem("Dialogas 1");
        JMenuItem m1i2 = new JMenuItem("Dialogas 2");
        JMenuItem m1i3 = new JMenuItem("Dialogas 3");
        JMenu m2 = new JMenu("Meniu 2");
        JMenuItem m2i1 = new JMenuItem("Dialogas 4");
        m1.add(m1i1);
        m1.add(m1i2);
        m1.add(m1i3);
        m2.add(m2i1);
        JMenuBar mb = new JMenuBar();
        mb.add(m1);
        mb.add(m2);
        ActionListener menual = new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                String id = ((JMenuItem)e.getSource()).getText();
                if(id.equals("Dialogas 1"))
                    JOptionPane.showMessageDialog(null, "Pranesimas!!!", "Dialogas 1", JOptionPane.ERROR_MESSAGE);
                else if(id.equals("Dialogas 2"))
                    JOptionPane.showConfirmDialog(null, "Ar testi?", "Dialogas 2", JOptionPane.YES_NO_OPTION);
                else if(id.equals("Dialogas 3"))
                {
                    Object[] options = {"Vienas", "Du", "Trys"};
                    JOptionPane.showOptionDialog(null, "Pasirinkite skaiciu: ", "Dialogas 3", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]);
                }
                else if(id.equals("Dialogas 4"))
                    JOptionPane.showInputDialog("Iveskite skaiciu: ");
            }
        };
        m1i1.addActionListener(menual);
        m1i2.addActionListener(menual);
        m1i3.addActionListener(menual);
        m2i1.addActionListener(menual);
        setJMenuBar(mb);
    }
    public static void main(String[] args)
    {
        JFrame frame = new Swing();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(550, 250);
        frame.setVisible(true);
    }
}
