📄 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;
}
}