📄 Manav.java .java dosyası

⬇️ İndir
import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import java.text.DecimalFormat; 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].toLowerCase()+".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 gramaj = 0.0; int urunID; double tutar; DecimalFormat tutarFormat; String tutarString; switch(urunIsmi) { case "CARLISTONBIBER" : urunID = 0; gramaj = terazi(); tutar = fiyat[urunID] * gramaj; tutarFormat = new DecimalFormat("#.##"); tutarString = tutarFormat.format(tutar); tutar = Double.parseDouble(tutarString); // System.out.println(urunler[urunID] + " seçildi."); // System.out.println("Fiyat : " + fiyat[urunID] + " Agirlik : " + gramaj); // System.out.println("Toplam : " + tutar); kasaListesi.add(urunler[urunID] + " [ " + fiyat[urunID] + " X " + gramaj + " ] = " + tutar + " TL"); for (int q = 0; q < kasaListesi.size(); q++) { kasaListesiLabel.add(new JLabel()); kasaListesiLabel.get(q).setText(kasaListesi.get(q)); kasaListesiLabel.get(q).setBounds(30, 115+(q*20), 400, 25); sepetPaneli.add(kasaListesiLabel.get(q)); } break; case "DOMATES" : urunID = 1; gramaj = terazi(); tutar = fiyat[urunID] * terazi(); tutarFormat = new DecimalFormat("#.##"); tutarString = tutarFormat.format(tutar); tutar = Double.parseDouble(tutarString); kasaListesi.add(urunler[urunID] + " [ " + fiyat[urunID] + " X " + gramaj + " ] = " + tutar + " TL"); for (int q = 0; q < kasaListesi.size(); q++) { kasaListesiLabel.add(new JLabel()); kasaListesiLabel.get(q).setText(kasaListesi.get(q)); kasaListesiLabel.get(q).setBounds(30, 115+(q*20), 400, 25); sepetPaneli.add(kasaListesiLabel.get(q)); } break; case "HAVUC" : urunID = 2; gramaj = terazi(); tutar = fiyat[urunID] * terazi(); tutarFormat = new DecimalFormat("#.##"); tutarString = tutarFormat.format(tutar); tutar = Double.parseDouble(tutarString); kasaListesi.add(urunler[urunID] + " [ " + fiyat[urunID] + " X " + gramaj + " ] = " + tutar + " TL"); for (int q = 0; q < kasaListesi.size(); q++) { kasaListesiLabel.add(new JLabel()); kasaListesiLabel.get(q).setText(kasaListesi.get(q)); kasaListesiLabel.get(q).setBounds(30, 115+(q*20), 400, 25); sepetPaneli.add(kasaListesiLabel.get(q)); } break; case "KIVIRCIK" : urunID = 3; gramaj = terazi(); tutar = fiyat[urunID] * terazi(); tutarFormat = new DecimalFormat("#.##"); tutarString = tutarFormat.format(tutar); tutar = Double.parseDouble(tutarString); kasaListesi.add(urunler[urunID] + " [ " + fiyat[urunID] + " X " + gramaj + " ] = " + tutar + " TL"); for (int q = 0; q < kasaListesi.size(); q++) { kasaListesiLabel.add(new JLabel()); kasaListesiLabel.get(q).setText(kasaListesi.get(q)); kasaListesiLabel.get(q).setBounds(30, 115+(q*20), 400, 25); sepetPaneli.add(kasaListesiLabel.get(q)); } break; case "MAYDANOZ" : urunID = 4; gramaj = terazi(); tutar = fiyat[urunID] * terazi(); tutarFormat = new DecimalFormat("#.##"); tutarString = tutarFormat.format(tutar); tutar = Double.parseDouble(tutarString); kasaListesi.add(urunler[urunID] + " [ " + fiyat[urunID] + " X " + gramaj + " ] = " + tutar + " TL"); for (int q = 0; q < kasaListesi.size(); q++) { kasaListesiLabel.add(new JLabel()); kasaListesiLabel.get(q).setText(kasaListesi.get(q)); kasaListesiLabel.get(q).setBounds(30, 115+(q*20), 400, 25); sepetPaneli.add(kasaListesiLabel.get(q)); } break; case "PATATES" : urunID = 5; gramaj = terazi(); tutar = fiyat[urunID] * terazi(); tutarFormat = new DecimalFormat("#.##"); tutarString = tutarFormat.format(tutar); tutar = Double.parseDouble(tutarString); kasaListesi.add(urunler[urunID] + " [ " + fiyat[urunID] + " X " + gramaj + " ] = " + tutar + " TL"); for (int q = 0; q < kasaListesi.size(); q++) { kasaListesiLabel.add(new JLabel()); kasaListesiLabel.get(q).setText(kasaListesi.get(q)); kasaListesiLabel.get(q).setBounds(30, 115+(q*20), 400, 25); sepetPaneli.add(kasaListesiLabel.get(q)); } break; case "PATLICAN" : urunID = 6; gramaj = terazi(); tutar = fiyat[urunID] * terazi(); tutarFormat = new DecimalFormat("#.##"); tutarString = tutarFormat.format(tutar); tutar = Double.parseDouble(tutarString); kasaListesi.add(urunler[urunID] + " [ " + fiyat[urunID] + " X " + gramaj + " ] = " + tutar + " TL"); for (int q = 0; q < kasaListesi.size(); q++) { kasaListesiLabel.add(new JLabel()); kasaListesiLabel.get(q).setText(kasaListesi.get(q)); kasaListesiLabel.get(q).setBounds(30, 115+(q*20), 400, 25); sepetPaneli.add(kasaListesiLabel.get(q)); } break; case "ROKA" : urunID = 7; gramaj = terazi(); tutar = fiyat[urunID] * terazi(); tutarFormat = new DecimalFormat("#.##"); tutarString = tutarFormat.format(tutar); tutar = Double.parseDouble(tutarString); kasaListesi.add(urunler[urunID] + " [ " + fiyat[urunID] + " X " + gramaj + " ] = " + tutar + " TL"); for (int q = 0; q < kasaListesi.size(); q++) { kasaListesiLabel.add(new JLabel()); kasaListesiLabel.get(q).setText(kasaListesi.get(q)); kasaListesiLabel.get(q).setBounds(30, 115+(q*20), 400, 25); sepetPaneli.add(kasaListesiLabel.get(q)); } break; case "SALATALIK" : urunID = 8; gramaj = terazi(); tutar = fiyat[urunID] * terazi(); tutarFormat = new DecimalFormat("#.##"); tutarString = tutarFormat.format(tutar); tutar = Double.parseDouble(tutarString); kasaListesi.add(urunler[urunID] + " [ " + fiyat[urunID] + " X " + gramaj + " ] = " + tutar + " TL"); for (int q = 0; q < kasaListesi.size(); q++) { kasaListesiLabel.add(new JLabel()); kasaListesiLabel.get(q).setText(kasaListesi.get(q)); kasaListesiLabel.get(q).setBounds(30, 115+(q*20), 400, 25); sepetPaneli.add(kasaListesiLabel.get(q)); } 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. DecimalFormat gramajFormat = new DecimalFormat("#.###"); String agirlikString = gramajFormat.format(agirlik); agirlik = Double.parseDouble(agirlikString); return agirlik; } }