import java.awt.Color;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.*;
import java.util.Map.*;

import javax.swing.*;

public class HashMapComboBox {
	
	HashMapComboBox() {
		
		int x = 10;
		int y = 10;
		int w = 100; 
		int h = 30;
		int xf = w + 15;
		int yf = h + 15;
		
		JFrame frame = new JFrame("HashMap ComboBox Kullanımı");
		frame.setLayout(null);
		
		JPanel anapanel = new JPanel();
		anapanel.setLayout(null);
		anapanel.setBackground(new Color(255, 213, 126));
		anapanel.setBounds(25,25,350,350);
		
		JLabel sehirSecBaslik = new JLabel("Şehir Seçiniz");
		sehirSecBaslik.setBounds(x,y,w,h); x = x + xf;
		
		String[] sehirlerString = {"Şehir Seçiniz", "Adıyaman", "Antalya", "İstanbul"};
		
		JComboBox sehirler = new JComboBox(sehirlerString);
		sehirler.setBounds(x,y,w+100,h); x = 15; y = y + yf;
		
		JLabel belediyelerBaslik = new JLabel("Belediyeler");
		belediyelerBaslik.setHorizontalAlignment(JLabel.CENTER);
		belediyelerBaslik.setBounds(x,y,350,y); y = y + yf;
		
		JTextArea texta = new JTextArea();
		texta.setEditable(false);
		texta.setBounds(x,y,320,220); y = y + yf;

		sehirler.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent e) {      
				
				String sehir = (String) sehirler.getSelectedItem();		
								
				HashMap<String, String> belediyeler = new HashMap<>();
				
                				// key		value
	            belediyeler.put("Gerger","Adıyaman");
	            belediyeler.put("Besni","Adıyaman");
	            belediyeler.put("Gölbaşı","Adıyaman");
	            belediyeler.put("Kahta","Adıyaman");
	            belediyeler.put("Çelikhan", "Adıyaman");
	            
	            belediyeler.put("Alanya","Antalya");
	            belediyeler.put("Muratpaşa","Antalya");
	            belediyeler.put("Kemer","Antalya");
	            belediyeler.put("Serik","Antalya");
	            belediyeler.put("Kepez", "Antalya");
	            
	            belediyeler.put("Kadıköy","İstanbul");
	            belediyeler.put("Adalar","İstanbul");
	            belediyeler.put("Beşiktaş","İstanbul");
	            belediyeler.put("Üsküdar","İstanbul");
	            belediyeler.put("Fatih", "İstanbul");
	            
	            String deger = "";
	            
	            for(Entry giris: belediyeler.entrySet()) {
	            	
	            	if(giris.getValue().equals(sehir)) {
	            				     	
	            		deger = deger + giris.getKey() + "\t" + giris.getValue() + "\n";
	            		
	            	}	            	
	            }
	          
		     	texta.setText(deger);
		     	
			}
		});
		
		anapanel.add(sehirSecBaslik);
		anapanel.add(sehirler);
		
		anapanel.add(belediyelerBaslik);
		anapanel.add(texta);
		
		frame.add(anapanel);
		
		frame.setSize(400,440);
		frame.setLocationRelativeTo(null);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setResizable(false);
		frame.setVisible(true);
	}

}
