📄 BarliPanel.java .java dosyası

⬇️ İndir
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class BarliPanel { BarliPanel() { JFrame frame = new JFrame("071 JScrollPnae örnek"); frame.setLayout(null); JPanel panel = new JPanel(); panel.setLayout(null); // panel.setPreferredSize(new Dimension(100, 100)); // Göstermelik bi ölçü veriyoruz... // panel.setBounds(15,100,470,250); // setBounds ile ölçü veriyoruz... Tercih sizin.. Vermeseniz de olur... panel.setBackground(new Color(101, 140, 122)); JScrollPane levha = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); levha.setBounds(30,100,440,370); // frame içindeki ölçüyü belirliyoruz. int x = 55; int y = 50; int xf = 125; int yf = 50; int w = 100; int h = 30; JLabel labelTekrar = new JLabel("?"); JTextField textTekrar = new JTextField("15"); JLabel labelBaslangic = new JLabel("Başlangıç"); JTextField textBaslangic = new JTextField("100"); JLabel labelArtis = new JLabel("%'lik Artış"); JTextField textArtis = new JTextField("7"); JLabel labelToplam = new JLabel("Toplam"); JLabel textToplam = new JLabel(); JButton buton = new JButton("Hesapla"); labelTekrar.setBounds(x,10,25,h); textTekrar.setBounds(x,y,25,h); x = x + 50; labelBaslangic.setBounds(x,10,w,h); textBaslangic.setBounds(x,y,w,h); x = x + xf; labelArtis.setBounds(x,10,w,h); textArtis.setBounds(x,y,w,h); x = x + xf; labelToplam.setBounds(x,10,w,h); textToplam.setBounds(x,y,w,h); buton.setBounds(x,55,75,20); frame.add(labelTekrar); frame.add(labelBaslangic); frame.add(labelArtis); frame.add(labelToplam); frame.add(textTekrar); frame.add(textBaslangic); frame.add(textArtis); frame.add(textToplam); frame.add(buton); buton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { double karToplam = 0; String txtT = textTekrar.getText(); String txtB = textBaslangic.getText(); String txtA = textArtis.getText(); int tekrar = Integer.valueOf(txtT); double baslangic = Double.valueOf(txtB); double artis = Double.valueOf(txtA); // NullPointerException hatasi almamak için tekrar adetli dizi elemani tanimlamasi yapiyoruz JPanel[] pastel0 = new JPanel[tekrar]; for(int i = 0; i<tekrar;i++) pastel0[i] = new JPanel(); JLabel[] tekrarLabel = new JLabel[tekrar]; for(int i = 0; i<tekrar;i++) tekrarLabel[i] = new JLabel(); JLabel[] sayilar = new JLabel[tekrar]; for(int i = 0; i<tekrar;i++) sayilar[i] = new JLabel(); JLabel[] sonucLabel = new JLabel[tekrar]; for(int i = 0; i<tekrar;i++) sonucLabel[i] = new JLabel(); JLabel[] islemLabel = new JLabel[tekrar]; for(int i = 0; i<tekrar;i++) islemLabel[i] = new JLabel(); for(int i=0; i<tekrar; i++) { double sonuc = (baslangic/100)*artis; double sonuc2 = Math.round(sonuc * 100.0) / 100.0; double islem = sonuc2+baslangic; double islem2 = Math.round(islem * 100.0) / 100.0; tekrarLabel[i].setText(" "+(i+1)); tekrarLabel[i].setBounds(25,10+(i*25),375,h); sayilar[i].setText(""+baslangic); sayilar[i].setBounds(75,10+(i*25),w,h); sonucLabel[i].setText(""+sonuc2); sonucLabel[i].setBounds(200,10+(i*25),w,h); islemLabel[i].setText(""+islem2); islemLabel[i].setBounds(325,10+(i*25),w,h); karToplam=karToplam+sonuc2; // System.out.println("Kar toplam = " + karToplam); // Console kontrolü için! :) baslangic = islem2; } panel.removeAll(); panel.setPreferredSize(new Dimension(10,(tekrar*25)+10)); for(int i = 0; i<tekrar; i++) { panel.add(sayilar[i]); panel.add(sonucLabel[i]); panel.add(islemLabel[i]); panel.add(tekrarLabel[i]); if(i%2 == 1) { pastel0[i].setBackground(new Color(153, 191, 173)); pastel0[i].setBounds(15,(i*25)+10,390,25); panel.add(pastel0[i]); }else{ pastel0[i].setBackground(new Color(186, 217, 200)); pastel0[i].setBounds(15,(i*25)+10,390,25); panel.add(pastel0[i]); } } frame.repaint(); } }); frame.add(levha); frame.setSize(500,550); frame.getContentPane().setBackground(new Color(217, 153, 139)); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setResizable(false); frame.setVisible(true); } }