
import javax.swing.*;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class JB_044_NullLayoutJComboBox extends JFrame {
    
	public JB_044_NullLayoutJComboBox() {
        calistir();
    }

    private void calistir() {
        
    	// frame'in özellikleri.
    	setSize(300, 300);
        setLayout(null);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        String[] isimler = new String[7];
        isimler[0] = "Ahmet";
        isimler[1] = "Ridvan";
        isimler[2] = "Oguz";
        isimler[3] = "Nezihi";
        isimler[4] = "Abdülkerim";
        isimler[5] = "Hakan";
        isimler[6] = "Aykut";
        
        JComboBox comboBox = new JComboBox<String>(isimler); // isimler String dizisini ComboBox'a ekliyoruz.
        comboBox.setBounds(30, 100, 240, 28);
        comboBox.setEditable(true);

        add(comboBox);
        
        // ComboBox için ActionListener yapiyoruz.
        comboBox.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event) {
            	
                // ComboBox'tan seçilen ismi almak için kaynagi belirliyoruz.
                JComboBox comboBox = (JComboBox) event.getSource();

                // ComboBox'in hangi maddesi seçilmis onu yazdiriyoruz.
                // Kullanici ne yapmis onu yazdiriyoruz : Action. -> edit/change
                Object selected = comboBox.getSelectedItem(); // seçilen nesneyi aldik.
                System.out.println("\nSeçilen isim : " + selected);
                
                String command = event.getActionCommand(); 
                System.out.println("\nUygulanan komut : " + command);
                

                // Uygulanan komut "comboBoxEdited" mi yoksa "comboBoxChanged" mi kontrol ediyoruz.
                if ("comboBoxEdited".equals(command)) {
                    System.out.println("Kullanici ComboBox içine birseyler yazdi.\n\n");
                    
                } else if ("comboBoxChanged".equals(command)) {
                    System.out.println("Kullanici ComboBox içinden bir isim seçti.\n\n");
                    
                }
            }
        });
        
    }

    public static void main(String[] args) {
    	
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new JB_044_NullLayoutJComboBox().setVisible(true);
            }
        });
        
    }
}
