📄 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);
}
}