📄 ComboBoxGallery.java .java dosyası

⬇️ İndir
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ComboBoxGallery { public static JFrame frame; public static JLabel labelFileName = new JLabel(); public static String fileName = "combo_acilis.jpg"; public static JLabel resimliLabel = new JLabel(); public ComboBoxGallery() { frame = new JFrame("Bağlantılı JComboBox Örneği String[] ile Java Blackboard 061"); frame.setLayout(null); String[] diziKategori = { "Seçiminiz...", "Alet", "Duygu", "Yiyecek", "Şehir"}; String[] aletListe = { "Alet seçiniz.", "Asma kilit", "Karga burun", "Testere", "Süpürge", "Musluk"}; String[] duyguListe = { "Duygu seçiniz.", "Agresif", "Eğlenceli", "Kibirli", "Üzgün" }; Object[] yiyecekListe = { "Yiyecek seçiniz.", "Armut", "Çorba", "Makarna", "Pasta", "Baklava" }; String[] sehirListe = { "Şehir seçiniz.", "Adıyaman", "Ankara", "Çanakkale", "Edirne", "Istanbul" }; JLabel labelBaslik = new JLabel("Bağlantılı ComboBox ile Resim Gösterme"); labelBaslik.setFont(new Font("Verdana", Font.BOLD, 24)); labelBaslik.setHorizontalAlignment(JLabel.CENTER); labelBaslik.setBounds(0, 15, 600, 30); labelFileName.setFont(new Font("Verdana", Font.PLAIN, 17)); labelFileName.setHorizontalAlignment(JLabel.CENTER); labelFileName.setBounds(0, 60, 600, 30); JLabel labelKategori = new JLabel("Kategori : "); labelKategori.setBounds(30, 100, 65, 30); JComboBox comboKategori = new JComboBox(diziKategori); comboKategori.setBounds(100, 100, 120,30); JLabel labelResim = new JLabel("Resim : "); labelResim.setBounds(225, 100, 50, 30); JComboBox comboResim = new JComboBox(); comboResim.setBounds(280, 100, 120, 30); JButton butonGoster = new JButton("Göster"); butonGoster.setBounds(420, 100, 130, 30); comboKategori.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (comboKategori.getSelectedItem().equals("Alet")) { comboResim.setFont(new Font("Verdana", Font.PLAIN, 13)); comboResim.setModel(new DefaultComboBoxModel(aletListe)); } else if (comboKategori.getSelectedItem().equals("Duygu")) { comboResim.setFont(new Font("Verdana", Font.PLAIN, 13)); comboResim.setModel(new DefaultComboBoxModel<String>(duyguListe)); } else if (comboKategori.getSelectedItem().equals("Yiyecek")) { comboResim.setFont(new Font("Verdana", Font.PLAIN, 13)); comboResim.setModel(new DefaultComboBoxModel<Object>(yiyecekListe)); // <String> yazarsak hata aliriz!!! } else if (comboKategori.getSelectedItem().equals("Şehir")) { comboResim.setFont(new Font("Verdana", Font.PLAIN, 13)); comboResim.setModel(new DefaultComboBoxModel<Object>(sehirListe)); // Object Stringín abisi oldugu için burada sorunsuz çalisir. } } }); butonGoster.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String resimIsmi = (String) comboResim.getSelectedItem(); comboResim.setSelectedIndex(0); switch (resimIsmi) { case "Asma kilit": fileName = "combo_tool_padlock.jpg"; break; case "Karga burun": fileName = "combo_tool_pliers.jpg"; break; case "Testere": fileName = "combo_tool_wood_saw.jpg"; break; case "Süpürge": fileName = "combo_tool_broom.jpg"; break; case "Musluk": fileName = "combo_tool_faucet.jpg"; break; case "Agresif": fileName = "combo_emotion_aggressive.png"; break; case "Eğlenceli": fileName = "combo_emotion_amusing.png"; break; case "Kibirli": fileName = "combo_emotion_arrogant.png"; break; case "Üzgün": fileName = "combo_emotion_sad.png"; break; case "Armut": fileName = "combo_yiyecek_armut.png"; break; case "Çorba": fileName = "combo_yiyecek_corba.jpg"; break; case "Makarna": fileName = "combo_yiyecek_makarna.jpg"; break; case "Pasta": fileName = "combo_yiyecek_pasta.jpg"; break; case "Baklava": fileName = "combo_yiyecek_baklava.jpg"; break; case "Adıyaman": fileName = "combo_sehir_adiyaman.jpg"; break; case "Ankara": fileName = "combo_sehir_ankara.jpg"; break; case "Çanakkale": fileName = "combo_sehir_canakkale.jpg"; break; case "Edirne": fileName = "combo_sehir_edirne.jpg"; break; case "Istanbul": fileName = "combo_sehir_istanbul.jpg"; break; } frame.add(resimGosterLabel(fileName)); } }); frame.add(labelBaslik); frame.add(labelFileName); frame.add(labelKategori); frame.add(comboKategori); frame.add(labelResim); frame.add(comboResim); frame.add(butonGoster); frame.add(resimGosterLabel(fileName)); frame.setSize(600, 500); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } public static JLabel resimGosterLabel(String file) { labelFileName.setText("Dosya ismi : " + file); frame.add(labelFileName); ImageIcon secilenResim = new ImageIcon(new ImageIcon("src/images/"+file).getImage().getScaledInstance(540, 320, Image.SCALE_DEFAULT));; resimliLabel.setIcon(secilenResim); resimliLabel.setBounds(30, 140, 540, 320); return resimliLabel; } }