📄 DosyaKlasorListesiJTable.java .java dosyası
⬇️ İndir
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class DosyaKlasorListesiJTable {
DosyaKlasorListesiJTable() {
JFrame frame = new JFrame();
JPanel anapanel = new JPanel();
anapanel.setLayout(null);
anapanel.setBackground(new Color(242, 86, 29));
anapanel.setBounds(0,0,700,550);
String masaustu = System.getProperty("user.home") + File.separator + "Desktop";
JLabel masaustuLabel = new JLabel(masaustu);
masaustuLabel.setForeground(Color.white);
masaustuLabel.setHorizontalAlignment(JLabel.CENTER);
masaustuLabel.setFont(new Font("Ubuntu", Font.PLAIN, 20));
masaustuLabel.setBounds(0,15,700,25);
anapanel.add(masaustuLabel);
anapanel.add(dosyaListePaneli(masaustu));
frame.add(anapanel);
frame.setSize(700,530);
frame.setLayout(null);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public static JScrollPane dosyaListePaneli(String x) {
/* Dosya listesi bu sekilde de alinabilir.
File masaustu = new File(x);
File[] dosyalar = masaustu.listFiles();
*/
// Bu sekilde tek satirla da alinabilir.
File[] dosyalar = new File(x).listFiles();
Object[] sutunlar = {"No","İsim","Tür","Boyut","Tarih"};
Object[][] data = new String[dosyalar.length][sutunlar.length]; // [Satir][Sütun);
int y = 0;
for(File dosya : dosyalar) {
data[y][0] = Integer.toString(y+1);
data[y][1] = dosya.getName();
data[y][2] = dosyaTuru(dosya);
long boyut = dosya.length();
data[y][3] = Long.toString(boyut); // byte olarak deger döndürür
Date tarih = new Date(dosya.lastModified());
data[y][4] = new SimpleDateFormat("dd/mm/yyyy H:mm:ss").format(tarih);
y++;
}
JTable table = new JTable(data,sutunlar);
JScrollPane tableScrollBar = new JScrollPane(table);
tableScrollBar.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
tableScrollBar.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
tableScrollBar.setBounds(50,60,600,400);
return tableScrollBar;
}
public static String dosyaTuru(File dosya) {
String dosyaninTuru = "";
if(dosya.isDirectory()) {
dosyaninTuru = "Klasör";
return dosyaninTuru;
} else {
String dosyaAdi = dosya.getName();
int index = dosyaAdi.lastIndexOf("."); // resim.jpg
if(index == -1) {
dosyaninTuru = "Bilinmeyen Dosya Türü";
return dosyaninTuru;
}
String tur = dosyaAdi.substring(index + 1); // armut.txt -> index = 5 ---> tur = txt
dosyaninTuru = tur.toUpperCase() + "";
return dosyaninTuru;
}
}
}