📄 YemekAnketi.java .java dosyası
⬇️ İndir
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class YemekAnketi {
private JLabel isimLabel;
private JLabel yasLabel;
private JLabel cinsiyetLabel;
private JTextField fieldIsim;
private JTextField fieldYas;
private JRadioButton[] cinsiyetSecenekleri;
private JRadioButton[][] soruSecenekleri;
private String[] soruMetinleri = {
"Menü seçimi ve yemek çeşitlerinin uygunluğu",
"Yemeklerin sunuluş biçimi",
"Yemeklerin lezzeti",
"Yemeklerin sıcaklığı",
"Yemeklerin miktarı",
"Restoran personelinin davranışı",
"Servisin kalitesi",
"Temizlik ve hijyen kurallarına uyum",
"Restoranımızı tavsiye eder misiniz?"
};
public YemekAnketi() {
JFrame frame = new JFrame();
frame.setTitle("Restoran Müşteri Memnuniyet Anketi | Java Blaclboard [153]");
frame.setLayout(null);
JPanel anketPaneli = new JPanel();
anketPaneli.setLayout(null);
anketPaneli.setBackground(new Color(230, 225, 195));
anketPaneli.setBounds(30, 30, 1000, 540);
// Giriş formu bileşenleri
isimLabel = new JLabel("İsim:");
isimLabel.setBounds(20, 20, 100, 30);
fieldIsim = new JTextField();
fieldIsim.setBounds(120, 20, 200, 30);
yasLabel = new JLabel("Yaş:");
yasLabel.setBounds(20, 50, 100, 30);
fieldYas = new JTextField();
fieldYas.setBounds(120, 50, 200, 30);
cinsiyetLabel = new JLabel("Cinsiyet:");
cinsiyetLabel.setBounds(20, 80, 100, 30);
ButtonGroup cinsiyetGrubu = new ButtonGroup();
cinsiyetSecenekleri = new JRadioButton[]{
new JRadioButton("Erkek"),
new JRadioButton("Kadın")
};
int cinsiyetX = 120;
int cinsiyetIndex = 0;
for (JRadioButton radio : cinsiyetSecenekleri) {
cinsiyetGrubu.add(radio);
cinsiyetSecenekleri[cinsiyetIndex].setBounds(cinsiyetX, 80, 100, 30);
anketPaneli.add(radio);
cinsiyetIndex++;
cinsiyetX+=100;
}
// Anket formu bileşenleri
soruSecenekleri = new JRadioButton[soruMetinleri.length][3];
JLabel[] soruLabel = new JLabel[soruMetinleri.length];
int soruY = 110;
int soruFark = 30;
for (int i = 0; i < soruMetinleri.length; i++) {
soruLabel[i] = new JLabel((i + 1) + ". " + soruMetinleri[i]);
soruLabel[i].setBounds(20, soruY, 400, 30);
anketPaneli.add(soruLabel[i]);
ButtonGroup soruGrubu = new ButtonGroup();
for (int j = 0; j < 3; j++) {
soruSecenekleri[i][j] = new JRadioButton(getSecenekMetni(j));
soruSecenekleri[i][j].setBounds(420+(100*j), soruY, 100, 30);
soruGrubu.add(soruSecenekleri[i][j]);
anketPaneli.add(soruSecenekleri[i][j]);
}
soruY+=soruFark;
}
// Bitir düğmesi
JButton butonBitir = new JButton("Bitir");
butonBitir.setBounds(20, soruY, 100, 30);
butonBitir.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
anketiKaydet();
}
});
anketPaneli.add(isimLabel);
anketPaneli.add(fieldIsim);
anketPaneli.add(yasLabel);
anketPaneli.add(fieldYas);
anketPaneli.add(cinsiyetLabel);
anketPaneli.add(butonBitir);
frame.add(anketPaneli);
frame.setSize(1060, 622);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
private String getSecenekMetni(int indeks) {
switch (indeks) {
case 0:
return "Çok İyi";
case 1:
return "İyi";
case 2:
return "Kötü";
default:
return "";
}
}
private void anketiKaydet() {
try (BufferedWriter writer = new BufferedWriter(new FileWriter("src/Anket.txt", true))) {
String isimYasCinsiyet = fieldIsim.getText() + "," + fieldYas.getText() + ","+ secilenCinsiyet();
String cevap = "";
for (int i = 0; i < soruMetinleri.length; i++) {
cevap = cevap + "," + secilenSoruCevabi(soruSecenekleri[i]);
}
writer.write(isimYasCinsiyet + cevap + "\n");
JOptionPane.showMessageDialog(null, "Anket başarıyla kaydedildi!");
} catch (IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, "Anket kaydedilirken bir hata oluştu.");
}
}
private String secilenCinsiyet() {
for (JRadioButton radio : cinsiyetSecenekleri) {
if (radio.isSelected()) {
return radio.getText();
}
}
return "Cinsiyet seçilmedi";
}
private String secilenSoruCevabi(JRadioButton[] secenekler) {
for (JRadioButton radio : secenekler) {
if (radio.isSelected()) {
return radio.getText();
}
}
return "-1";
}
public static void main (String[] args) {
new YemekAnketi();
}
}