📄 Manav.java .java dosyası

⬇️ İndir
import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import java.util.ArrayList; import java.util.Random; import javax.swing.*; public class Manav { public static int urunSayisi = 9; public static Random r = new Random((4000)+500); public static JPanel anapanel; public static JPanel sepetPaneli = new JPanel(); public static JFrame frame; public static String[] urunler = new String[urunSayisi]; public static double[] fiyat = new double[urunSayisi]; public static JLabel[] secilenUrun = new JLabel[urunSayisi]; public static ArrayList<String> kasaListesi = new ArrayList<String>(); public static ArrayList<JLabel> kasaListesiLabel = new ArrayList<JLabel>(); public Manav() { urunler[0] = "carlistonbiber"; urunler[1] = "domates"; urunler[2] = "havuc"; urunler[3] = "kivircik"; urunler[4] = "maydanoz"; urunler[5] = "patates"; urunler[6] = "patlican"; urunler[7] = "roka"; urunler[8] = "salatalik"; for(int i = 0; i<urunSayisi; i++) secilenUrun[i] = new JLabel(""); fiyat[0] = 15.90; fiyat[1] = 20.50; fiyat[2] = 17.60; fiyat[3] = 12.00; fiyat[4] = 16.20; fiyat[5] = 15.50; fiyat[6] = 25.30; fiyat[7] = 10.90; fiyat[8] = 13.50; frame = new JFrame("Manav"); frame.setLayout(null); anapanel = new JPanel(); anapanel.setLayout(null); anapanel.setBounds(0,0,1000,600); anapanel.setBackground(new Color(72, 86, 87)); anapanel.add(urunPanel()); anapanel.add(sepetPanel()); frame.add(anapanel); frame.setSize(1000,600); frame.setResizable(true); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } public static JPanel urunPanel() { JPanel urunPaneli = new JPanel(); urunPaneli.setBounds(10,10,530,540); urunPaneli.setBackground(new Color(247, 178, 104)); urunPaneli.setLayout(null); JButton[] urunButon = new JButton[9]; int indexx = 0; int indexy = 0; for(int i = 0; i<9; i++) urunButon[i] = new JButton(); for(int i = 0; i<9; i++) { urunButon[i].setIcon(new ImageIcon(new ImageIcon("src/images/images_"+urunler[i]+".jpg").getImage().getScaledInstance(125, 125, Image.SCALE_DEFAULT))); urunButon[i].setVerticalTextPosition(AbstractButton.BOTTOM); urunButon[i].setHorizontalTextPosition(AbstractButton.CENTER); urunButon[i].setText(urunler[i].toUpperCase()); urunButon[i].setHorizontalAlignment(SwingConstants.CENTER); urunButon[i].setFont(new Font("Arial", Font.BOLD, 15)); urunButon[i].setForeground(new Color(45, 65, 5)); urunButon[i].setBounds(20+(170*(indexx%3)), 20+(170*indexy), 150, 160); urunPaneli.add(urunButon[i]); urunButon[i].addActionListener(new ActionListener() { public void actionPerformed(ActionEvent olay) { String urunIsmi = olay.getActionCommand(); double agirlik = 0.0; switch(urunIsmi) { case "CARLISTONBIBER" : agirlik = terazi(); System.out.println(urunler[0] + " seçildi."); System.out.println("Fiyat : " + fiyat[0] + " Agirlik : " + agirlik); System.out.println("Toplam : " + (fiyat[0] * agirlik)); kasaListesi.add(urunler[0]); break; case "DOMATES" : System.out.println(urunler[1] + " seçildi. Agirlik : " + terazi()); kasaListesi.add(urunler[1]); break; case "HAVUC" : System.out.println(urunler[2] + " seçildi. Agirlik : " + terazi()); kasaListesi.add(urunler[2]); break; case "KIVIRCIK" : System.out.println(urunler[3] + " seçildi. Agirlik : " + terazi()); break; case "MAYDANOZ" : System.out.println(urunler[4] + " seçildi.Agirlik : " + terazi()); break; case "PATATES" : System.out.println(urunler[5] + " seçildi. Agirlik : " + terazi()); break; case "PATLICAN" : System.out.println(urunler[6] + " seçildi. Agirlik : " + terazi()); break; case "ROKA" : System.out.println(urunler[7] + " seçildi. Agirlik : " + terazi()); break; case "SALATALIK" : System.out.println(urunler[8] + " seçildi. Agirlik : " + terazi()); break; } anapanel.add(sepetPanel()); anapanel.revalidate(); // For Java 1.7 or above. anapanel.repaint(); } }); indexx++; if((indexx%3) == 0) indexy++; } return urunPaneli; } public static JPanel sepetPanel() { sepetPaneli.setBounds(550,10,435,540); sepetPaneli.setBackground(new Color(242, 204, 99)); sepetPaneli.setLayout(null); JLabel logo = new JLabel(new ImageIcon(new ImageIcon("src/images/greengrocerlogo.png").getImage().getScaledInstance(415, 100, Image.SCALE_DEFAULT))); logo.setBounds(10,10,415,100); sepetPaneli.add(logo); System.out.println("Kasa Listesi : " + kasaListesi); // Test amaçli console çiktisi için... // maç ArrayList'e eklenen ürünleri görmek. // Daha sonra JLabel ile sepetPanel'e eklenecek. sepetPaneli.repaint(); return sepetPaneli; } public static double terazi() { double agirlik = 0.0; agirlik = (r.nextDouble()*4.5)+0.5; // 500 Gr. ile 5000 Gr. arasi bi agirlik ayarliyoruz. // 4.376300693703864 küsurat kismi 3 basamak ayarlanacak. return agirlik; } }