Java-2 2016 Hafta-8 Örnek-1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 |
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class gelirvergisi implements ActionListener { JList[] jl; DefaultListModel[] dlm; JComboBox jcb; JTextField jtf_gelirtop,jtf_yenigelir; JRadioButton jrb_ocak,jrb_temmuz; public gelirvergisi() { JFrame jfrm = new JFrame("Gelir Vergisi - 2016"); jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jfrm.setLayout(new GridLayout(1,5)); jfrm.setSize(500, 250); JPanel[] jpn = new JPanel[5]; jl= new JList[5]; dlm=new DefaultListModel[5]; String[] baslik={"İsim","Gelir Top.","Yeni Gelir","Dönem","Vergi"}; for(int i =0; i<jpn.length;i++) { jpn[i]= new JPanel(); jpn[i].setPreferredSize(new Dimension(95, 295)); dlm[i]= new DefaultListModel(); jl[i]=new JList(dlm[i]); JScrollPane jscp= new JScrollPane(jl[i]); jscp.setPreferredSize(new Dimension(90,160)); JLabel jlab = new JLabel(baslik[i]); jpn[i].add(jlab); jpn[i].add(jscp); // jlist panele eklendi jfrm.add(jpn[i]); } //1. sutun eklemeleri String[] isimler ={"Seçiniz","Ahmet","Mustafa","Metin","Ayse","Fatma"}; jcb= new JComboBox(isimler); jcb.setPreferredSize(new Dimension(90,25)); jpn[0].add(jcb); JButton jbtn1= new JButton("Ekle"); jbtn1.addActionListener(this); jbtn1.setActionCommand("ekle"); // buton etiketi jbtn1.setPreferredSize(new Dimension(90,25)); jpn[0].add(jbtn1); //2. sutun jtf_gelirtop= new JTextField(); jtf_gelirtop.setPreferredSize(new Dimension(90,25)); jpn[1].add(jtf_gelirtop); JButton jbtn2= new JButton("Sil"); jbtn2.addActionListener(this); jbtn2.setPreferredSize(new Dimension(90,25)); jpn[1].add(jbtn2); //3.sutun jtf_yenigelir= new JTextField(); jtf_yenigelir.setPreferredSize(new Dimension(90,25)); jpn[2].add(jtf_yenigelir); //4. sutun ButtonGroup bg = new ButtonGroup(); jrb_ocak = new JRadioButton("Ocak"); jrb_ocak.setSelected(true); jrb_temmuz = new JRadioButton("Temmuz"); bg.add(jrb_ocak); bg.add(jrb_temmuz); JPanel jpn4_1 = new JPanel(); JPanel jpn4_2 = new JPanel(); jpn4_1.setLayout(new FlowLayout(FlowLayout.LEFT)); jpn4_2.setLayout(new FlowLayout(FlowLayout.LEFT)); jpn4_1.setPreferredSize(new Dimension(90,25)); jpn4_2.setPreferredSize(new Dimension(90,25)); jpn4_1.add(jrb_ocak); jpn4_2.add(jrb_temmuz); jpn[3].add(jpn4_1); jpn[3].add(jpn4_2); jfrm.setVisible(true); } @Override public void actionPerformed(ActionEvent ae) { if(ae.getActionCommand().equals("ekle")) { // ekle int secilen_isim = jcb.getSelectedIndex(); int donem=0; if(jrb_temmuz.isSelected()) donem=1; double mevcutgelir,yenigelir; try{ if(secilen_isim>0 && jtf_gelirtop.getText().length()>0 && jtf_yenigelir.getText().length()>0 ){ mevcutgelir=Double.parseDouble(jtf_gelirtop.getText()); yenigelir=Double.parseDouble(jtf_yenigelir.getText()); String[] donemler={"Ocak","Temmuz"}; double vergi=vergihesapla(mevcutgelir, yenigelir, donem); dlm[0].addElement(jcb.getSelectedItem()); // isim dlm[1].addElement(mevcutgelir); // gelir top. dlm[2].addElement(yenigelir); // yeni gelir dlm[3].addElement(donemler[donem]); // donem dlm[4].addElement(vergi); // vergi jcb.setSelectedIndex(0); jtf_gelirtop.setText(""); jtf_yenigelir.setText(""); jrb_ocak.setSelected(true); } }catch(Exception ex) { } } else { int secilen = jl[0].getSelectedIndex(); if(secilen>-1) { for(int i=0;i<dlm.length;i++) { dlm[i].remove(secilen); } } } } private double vergihesapla(double mevcutgelir,double yenigelir, int donem) { double toplamvergi=0; double[] oranlar={0.15,0.2,0.27,0.35}; double[] ocak={12600,30000,110000}; double[] temmuz={13000,31000,120000}; // henuz belirlenmedi degerler farazi double[] donemsiniri; // kullanilacak doneme ait sinirlar donemsiniri=ocak; if(donem==1) donemsiniri=temmuz; double anapara=mevcutgelir; double kalan = yenigelir; do{ int onceki=oranbul(anapara,donemsiniri); int sonraki=oranbul(anapara+kalan,donemsiniri); if(onceki==sonraki) { // durum1 : tamamini vergilendir toplamvergi+=kalan*oranlar[onceki]; kalan=0; } else { // durum2 : sinir ustunde devam etmeli double vergilendirilecek=donemsiniri[onceki]-anapara; toplamvergi+=vergilendirilecek*oranlar[onceki]; anapara+=vergilendirilecek; kalan-=vergilendirilecek; } }while(kalan>0); return toplamvergi; } private int oranbul(double gelir,double[] sinirlar) { for(int i=0;i<sinirlar.length;i++) { if(gelir < sinirlar[i]) return i; } return sinirlar.length; } /** * @param args */ public static void main(String[] args) { new gelirvergisi(); } } |
Okumaya devam et
Son Yorumlar