Java-2(2015) 8. Hafta Swing Uygulamaları

java2_2015_hafta8_resim1

java2_2015_hafta8_resim2

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;

public class sinav implements ActionListener
{

JLabel jlab_soru;
JRadioButton[] jrbs=new JRadioButton[5];

DefaultListModel verilencevap,sorular;

int soruindex=0;

sinav()
{
JFrame jfrm = new JFrame("Sınav Soruları");
jfrm.setSize(400,210);
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jfrm.setLayout(new GridLayout(3,1));

jlab_soru= new JLabel("Soru 1: xyz");
JPanel jp1= new JPanel();
jp1.add(jlab_soru);
jp1.setLayout(new GridLayout(1,1)); // sola dayali

JPanel jp2= new JPanel();
jp2.setLayout(new GridLayout(3,2));

ButtonGroup bg = new ButtonGroup();
for(int i=0;i<5;i++)
{
	jrbs[i] = new JRadioButton("A"+i);
	jp2.add(jrbs[i]);
	bg.add(jrbs[i]);

}

JPanel jp3= new JPanel();
jp3.setLayout(new GridLayout(1,2));
JButton jbtn_geri= new JButton("<< Geri");
JButton jbtn_ileri= new JButton("İleri >>");
jbtn_geri.addActionListener(this);
jbtn_geri.setActionCommand("geri");
jbtn_ileri.addActionListener(this);

JPanel jp3_1 = new JPanel();
JPanel jp3_2 = new JPanel();

jp3_1.add(jbtn_geri);
jp3_2.add(jbtn_ileri);
jp3.add(jp3_1);
jp3.add(jp3_2);

jfrm.add(jp1);
jfrm.add(jp2);
jfrm.add(jp3);

soruyukle();
sorugetir(0);
jfrm.setVisible(true);
}


public int secenek()
{
	for(int i=0;i<jrbs.length;i++)
	{
		if(jrbs[i].isSelected())
			return (i+1); // gelen secenek 1-5 arasinda		
	}	
	
	return 0;
}

public void soruyukle()
{
	Connection conn = baglan();
	
	try{
		verilencevap = new DefaultListModel();
		sorular = new DefaultListModel();
	
		String sql="select soru,A,B,C,D,E,cevap from sorular;";
		Statement st = conn.createStatement();
		ResultSet rs = st.executeQuery(sql);
		
		while(rs.next())
		{
			String veri=rs.getString("soru")+";"+rs.getString("A")+";"+rs.getString("B")+";"+rs.getString("C")+";"+rs.getString("D")+";"+rs.getString("E")+";"+rs.getString("cevap");
			//System.out.println(veri);
			verilencevap.addElement("0");
			sorular.addElement(veri);
		}
	
	}
	catch(Exception ex)
	{
	}	

	try{
		conn.close();	
	}
	catch(Exception ex)
	{
	}
	



}

public void sorugetir(int index)
{

int sorusayisi=sorular.getSize();

if(index>-1 && index<=sorusayisi)
{
int secim=secenek(); // secilen radiobutton bilgisi alindi
verilencevap.setElementAt(secim+"",soruindex);
}


if(index>-1 && index<sorusayisi)
{

soruindex=index;
String soru =sorular.getElementAt(index).toString();

String[] parca=soru.split(";");

jlab_soru.setText("Soru "+(index+1)+": "+parca[0]);

String[] harf ={"A)","B)","C)","D)","E)"};

for(int i=0;i<5;i++)
{
	jrbs[i].setText(harf[i]+" "+parca[i+1]); // secenekler yukleniyor
	
	if(verilencevap.getElementAt(index).equals((i+1)+""))
		jrbs[i].setSelected(true);	
}

if(verilencevap.getElementAt(index).equals("0"))
	jrbs[0].setSelected(true);	

}



if(index>=sorusayisi)
{

String sonuclar="";

for(int i=0;i<sorusayisi;i++)
{

String vcevap=verilencevap.getElementAt(i).toString();

String soru =sorular.getElementAt(i).toString();
String[] parca=soru.split(";");
String gcevap=parca[6]; // cevap

sonuclar+=(i+1)+") ";
if(gcevap.equals(vcevap))
sonuclar+=" Doğru\n";	
else
sonuclar+=" Yanlış\n";	
}

JOptionPane.showMessageDialog(null,sonuclar,"Sonuçlar",1);


}


}

public Connection baglan()
{
	Connection conn=null;
	
	try{
		Class.forName("org.sqlite.JDBC");
		conn=DriverManager.getConnection("jdbc:sqlite:hafta8.db"); 
	}
	catch(Exception ex)
	{
		JOptionPane.showMessageDialog(null,"Bağlantı yapılamadı!","Hata",0);
	}

	return conn;
}





public void actionPerformed(ActionEvent ae)
{
	if(ae.getActionCommand().equals("geri"))
	{
		sorugetir(soruindex-1);
	}
	else
	{
		sorugetir(soruindex+1);
	}
	


}

public static void main(String[] aaa)
{
new sinav();
}
}

 

 

Java2 2015 Hafta-8 Eklentiler

Share