package Hesapla; public class Hesapla { public double fin,viz; public double ort; public boolean notgir(String pfin,String pviz) { double tfin=cevir(pfin),tviz=cevir(pviz); if(tfin!=-1&&tviz!=-1) { fin=tfin; viz=tviz; nothesapla(); return true; } else return false; } private double cevir(String not) { double sonuc=0.0; try { sonuc=Double.parseDouble(not); return sonuc; } catch(Exception ex) { return -1; } } private void nothesapla() { ort=fin*0.6+viz*0.4; int ort2=(int)(ort*100); ort=ort2/100.0; } }
package main; import Hesapla.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Main implements ActionListener{ JButton bsil,bekle; JList lvize,lfinal,lort; DefaultListModel dlmvize,dlmfinal,dlmort; JTextField tvize,tfinal; JLabel jlvize,jlfinal,jlort,jlgenel; public Main() { JFrame frm=new JFrame("Hesaplama"); frm.setSize(600, 600); frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//kapanma kutusuna tıkladığımda programın sonlandırılması için frm.setLayout(new FlowLayout());//Componentlerin formda nasıl yerleseceği jlvize=new JLabel("Vize Notu"); jlvize.setPreferredSize(new Dimension(150,25)); jlfinal=new JLabel("Final Notu"); jlfinal.setPreferredSize(new Dimension(150,25)); jlort=new JLabel("Dersin Ortalaması"); jlort.setPreferredSize(new Dimension(150,25)); jlgenel=new JLabel("Genel Ortalama:"); jlgenel.setPreferredSize(new Dimension(150,25)); //Button bsil=new JButton("Sil"); bsil.setPreferredSize(new Dimension(150,25)); bsil.addActionListener(this); bsil.setActionCommand("sil"); bekle=new JButton("Ekle"); bekle.setPreferredSize(new Dimension(150,25)); bekle.addActionListener(this);//Buton dinleyicisi bu sinifdaki fonksiyonu(actionPerformed) calistir bekle.setActionCommand("ekle");//Butona komut ekliyorum ayırt edebilmek için //JTextField tvize=new JTextField(); tvize.setPreferredSize(new Dimension(150,25)); tfinal=new JTextField(); tfinal.setPreferredSize(new Dimension(150,25)); //DefaultListModel dlmvize=new DefaultListModel(); dlmfinal=new DefaultListModel(); dlmort=new DefaultListModel(); //JListler lvize=new JList(dlmvize); lfinal=new JList(dlmfinal); lort=new JList(dlmort); //JScrollPane JScrollPane spvize=new JScrollPane(lvize);//Kaydırma çubuğunun çıkması için spvize.setPreferredSize(new Dimension(150,300)); JScrollPane spfinal=new JScrollPane(lfinal); spfinal.setPreferredSize(new Dimension(150,300)); JScrollPane sport=new JScrollPane(lort); sport.setPreferredSize(new Dimension(150,300)); //Panel JPanel anajpn=new JPanel(); anajpn.setLayout(new GridLayout(1,3)); anajpn.setPreferredSize(new Dimension(450,500)); JPanel jpn1=new JPanel(); JPanel jpn2=new JPanel(); JPanel jpn3=new JPanel(); jpn1.add(jlvize); jpn1.add(spvize); jpn1.add(tvize); jpn1.add(bekle); jpn2.add(jlfinal); jpn2.add(spfinal); jpn2.add(tfinal); jpn2.add(bsil); jpn3.add(jlort); jpn3.add(sport); jpn3.add(jlgenel); anajpn.add(jpn1); anajpn.add(jpn2); anajpn.add(jpn3); frm.add(anajpn); frm.setVisible(true); } private void toplamort() { double genort=0; int boyut=dlmort.size(); for(int i=0;i<boyut;i++) { try { genort+=Double.parseDouble(dlmort.getElementAt(i)+""); }catch(Exception ex) { } } genort/=boyut; boyut=(int)(genort*100); genort=boyut/100.0; jlgenel.setText("Genel ortalama="+genort); } @Override public void actionPerformed(ActionEvent arg0) { //Butonlara tıklandıgında bu fonksiyon çalısır Hesapla ogr=new Hesapla(); boolean k=ogr.notgir(tfinal.getText(), tvize.getText()); int secilen=lvize.getSelectedIndex(); if(arg0.getActionCommand().equals("ekle")&&k) { dlmvize.addElement(ogr.viz); dlmfinal.addElement(ogr.fin); dlmort.addElement(ogr.ort); tvize.setText(""); tfinal.setText(""); toplamort(); } if(arg0.getActionCommand().equals("sil")&&secilen>-1) { dlmvize.remove(secilen); dlmfinal.remove(secilen); dlmort.remove(secilen); toplamort(); } } public static void main(String[] arg) { new Main(); } }