📄 TxtDosyasindakiNotlar.java .java dosyası

⬇️ İndir
import java.awt.Color; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; import javax.swing.border.TitledBorder; public class TxtDosyasindakiNotlar { public static String[] data; public static String[][] dataOgrenci = new String[8][17]; public TxtDosyasindakiNotlar() { // Soru: // hocam txt dosyasından alınan bir kac ögrencinin notlarını // belirli işlemlere tabi tutarak (1.not%40 digeri %60) ekrana nasıl yadırabiliriz. File dosya = new File("src/data/ogrenci_bilgileri.txt"); int ogrenci = 0; // Orenci sayisi için bir index olusturuyoruz. try { Scanner txtOku = new Scanner(dosya); while (txtOku.hasNextLine()) { String satir = txtOku.nextLine(); data = satir.split(","); // dizi uzunlugu 17 olur. vuirgulle ayirarak her satiri dizi yapar. for(int i=0 ; i<data.length ; i++) { dataOgrenci[ogrenci][i] = data[i]; } System.out.println("--------------> ogrenci = " + ogrenci); ogrenci++; System.err.println("Ogrenci Adi : " + data[0]); System.err.println("Ogrenci No : " + data[1]); System.err.println("data [2] : " + data[2]); // Matematik (Ders ismi) // Ornek olmasi icin sadece Matematik dersinin notlari islendi. System.err.print("data [3] : " + data[3] + " -> %40 = "); int not1 = Integer.parseInt(data[3]); int not40 = (int) (not1 * 0.4); System.out.println(not40); System.err.print("data [4] : " + data[4] + " -> %60 = "); int not2 = Integer.parseInt(data[4]); int not60 = (int) (not2 * 0.6); System.out.println(not60); System.err.println("data [5] : " + data[5]); // Fen (Ders ismi) System.err.println("data [6] : " + data[6]); System.err.println("data [7] : " + data[7]); System.err.println("data [8] : " + data[8]); System.err.println("data [9] : " + data[9]); System.err.println("data [10] : " + data[10]); System.err.println("data [11] : " + data[11]); System.err.println("data [12] : " + data[12]); System.err.println("data [13] : " + data[13]); System.err.println("data [14] : " + data[14]); System.err.println("data [15] : " + data[15]); System.err.println("data [16] : " + data[16]); } txtOku.close(); } catch (FileNotFoundException e) { System.out.println("Dosya bulunamadi: " + e.getMessage()); } JFrame frame = new JFrame("TXT Dosyasindaki Notlar | Java Blackboard [103]"); JPanel panel = new JPanel(); // sari renkli oanel panel.setLayout(null); panel.setBackground(new Color (233, 222, 177)); panel.setBounds(50, 50, 924, 648); int index=0; for(int x=0, y=-1 ; x<7 ; x++) { if (x%3 == 0) y++; panel.add(ogrenciInfo(x, y, index)); index++; } frame.add(panel); frame.setLayout(null); frame.getContentPane().setBackground(new Color(124, 203, 5)); // framein rengi. frame.setSize(1024, 768); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setResizable(false); frame.setVisible(true); } public static JPanel ogrenciInfo(int x, int y, int index) { if (x>2) x = x%3; String ogrenciAdi = dataOgrenci[index][0]; String okulNo = dataOgrenci[index][1]; JPanel panel = new JPanel(); // Her bir ogrencinin notlarinin goruntulendigi panel. panel.setLayout(null); panel.setBackground(new Color(220, 242, 230)); panel.setBorder(new TitledBorder(okulNo + " " + ogrenciAdi)); JLabel labelMatematik = new JLabel(""); /** labelMatematik.setOpaque(true); labelMatematik.setForeground(Color.WHITE); labelMatematik.setBackground(Color.GRAY); */ int mat1 = Integer.parseInt(dataOgrenci[index][3]); int mat40 = (int) (mat1 * 0.4); int mat2 = Integer.parseInt(dataOgrenci[index][4]); int mat60 = (int) (mat2 * 0.6); labelMatematik.setText(dataOgrenci[index][2]+" "+dataOgrenci[index][3]+" %40 = "+mat40+ " "+dataOgrenci[index][4]+" %60 = "+mat60); labelMatematik.setHorizontalAlignment(SwingConstants.LEFT); labelMatematik.setBounds(10, 20, 265, 25); JLabel labelFen = new JLabel(""); int fen1 = Integer.parseInt(dataOgrenci[index][6]); // txt dosyadindaki Fen 1inci notu int fen40 = (int) (fen1 * 0.4); int fen2 = Integer.parseInt(dataOgrenci[index][7]); // txt dosyadindaki Fen 2inci notu int fen60 = (int) (fen2 * 0.6); labelFen.setText(dataOgrenci[index][5]+" "+dataOgrenci[index][6]+" %40 = "+fen40+ " "+dataOgrenci[index][7]+" %60 = "+fen60); labelFen.setHorizontalAlignment(JLabel.LEFT); labelFen.setBounds(10, 50, 265, 30); JLabel labelTarih = new JLabel(""); int tar1 = Integer.parseInt(dataOgrenci[index][9]); int tar40 = (int) (tar1 * 0.4); int tar2 = Integer.parseInt(dataOgrenci[index][10]); int tar60 = (int) (tar2 * 0.6); labelTarih.setText(dataOgrenci[index][8]+" "+dataOgrenci[index][9]+" %40 = "+tar40+ " "+dataOgrenci[index][10]+" %60 = "+tar60); labelTarih.setHorizontalAlignment(JLabel.LEFT); labelTarih.setBounds(10, 80, 265, 30); JLabel labelIngilizce = new JLabel(""); int ing1 = Integer.parseInt(dataOgrenci[index][12]); int ing40 = (int) (ing1 * 0.4); int ing2 = Integer.parseInt(dataOgrenci[index][13]); int ing60 = (int) (ing2 * 0.6); labelIngilizce.setText(dataOgrenci[index][11]+" "+dataOgrenci[index][12]+" %40 = "+ing40+ " "+dataOgrenci[index][13]+" %60 = "+ing60); labelIngilizce.setHorizontalAlignment(JLabel.LEFT); labelIngilizce.setBounds(10, 110, 265, 30); JLabel labelResim = new JLabel(""); int res1 = Integer.parseInt(dataOgrenci[index][15]); int res40 = (int) (res1 * 0.4); int res2 = Integer.parseInt(dataOgrenci[index][16]); int res60 = (int) (res2 * 0.6); labelResim.setText(dataOgrenci[index][14]+" "+dataOgrenci[index][15]+" %40 = "+res40+ " "+dataOgrenci[index][16]+" %60 = "+res60); labelResim.setHorizontalAlignment(JLabel.LEFT); labelResim.setBounds(10, 140, 265, 30); panel.add(labelMatematik); panel.add(labelFen); panel.add(labelTarih); panel.add(labelIngilizce); panel.add(labelResim); panel.setBounds(15+(x*300), 15+(y*210), 285, 200); return panel; } public static void main(String[] args) { new TxtDosyasindakiNotlar(); } }