Hızlı Konu Açma

Hızlı Konu Açmak için tıklayınız.

Son Mesajlar

Konulardaki Son Mesajlar

Reklam

Forumda Reklam Vermek İçin Bize Ulaşın

Swing JFileChooser ile Dosya Bilgilerini Almak

YaSa22

Fahri Üye
Fahri Üye
Katılım
12 Temmuz 2014
Mesajlar
2,293
Tepkime puanı
2
Puanları
0
Konum
GTA
Daha önce

Linkleri sadece kayıtlı üyeler görebilir. Linkleri görebilmek için Üye Girişi yapın veya ücretsiz olarak Kayıt Olun

açıklamaya çalıştığım File sınıfı ile, işletim sistemi üzerindeki herhangi bir dosya ya da klasör ile alakalı pekçok bilgiye erişebiliyoruz.
Bu yazıda, File sınıfının bu özelliklerini kullanarak, Swing bileşenleri ile grafiksel bir uygulama geliştirmeye çalışacağım.Geliştireceğimiz uygulama ana hatları ile oldukça basit aslında. Swing’in sunmuş olduğu JFileChooser ile, işletim sisteminde istediğimiz bir dosyayı seçip o dosya (file) hakkında pekçok bilgiyi, JList bileşeni yardımı ile programımızda görüntüleyeceğiz.Uygulamayı geliştirmeye geçmeden önce, bu örnek kod hakkında söylemek istediğim birkaç şey var. Uygulama her ne kadar, JFileChooser ile seçtiğimiz bir dosyayı File türünde bir değişkene atıyorsa da, uygulama da kullanılan JButton (buton/düğmeler) bileşenleri ile, Swing üzerinde olay (event) yönetiminin nasıl çalıştığı hakkında da başlangıç seviyesinde bilgi sahibi olunabilir.Uygulama kodu aşağıdaki gibidir. Gerekli açıklamaları kod üzerinde göstermeye çalıştım.Kod:
package org.javablog;

import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.text.SimpleDateFormat;

import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;

public class MySwing extends JFrame
{
//Program için gerekli bileşenleri uygulamaya ekliyoruz
private JFileChooser fileChooser;
private JButton okButton;
private JButton fileChooserButton;
private JList list;
private DefaultListModel listModel;
private File file;

MySwing()
{
file = null;
initComponents();
setTitle("Dosya Bilgileri");
setSize(600, 250);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
private void initComponents()
{
fileChooser = new JFileChooser();
//Seçilebilecek elementin sadece dosya (file) olmasını garantiliyoruz
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
//Tamam butonunu oluşturuyoruz
okButton = new JButton("Tamam");
//Dosya Seç butonunu oluşturuyoruz
fileChooserButton = new JButton("Dosya Seç");
//Verilerin gösterileceği JList örneğini oluştur
listModel = new DefaultListModel();
list = new JList(listModel);

JPanel panel = new JPanel();
//Bileşenleri oluşturduğumuz panele ekliyoruz
panel.add(fileChooserButton);
panel.add(okButton);
panel.add(list);
add(panel);

//Dosya Seç butonununa tıklandığında yapılacak eylemi tanımlıyoruz
//butonun addActionListener methodu ile olay yönetim nesnesini
//anonymous inner class olarak belirtiyoruz
fileChooserButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//artık dosya seçme pencerimizi açtırabiliriz
fileChooser.showOpenDialog((Component) e.getSource());
//ve dosya seçim penceresinden işaretlenen dosyayı file fieldımıza atıyoruz
file = fileChooser.getSelectedFile();
}
});

//yine aynı şekilde Tamam butonunna tıkladığımızda yapılacak olayları tanımlıyoruz
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//Tarih, lastModified() methodundan gelen long türünde
//bunu anlamlı hale getiriyoruz gün ay yıl
SimpleDateFormat dateFormat = new SimpleDateFormat("dd MMMM yyyy");
String date = dateFormat.format(file.lastModified());

//artık listemiz içerisine file fieldındaki nesneyi kullanarak verileri yazabiliriz.
listModel.addElement("Dosya Adı : " + file.getName());
listModel.addElement("Son Düzenlenme : " + date);
listModel.addElement("Dosya Absolute Path : " + file.getAbsolutePath());
listModel.addElement("Dosya Uzunluğu : " + file.length());
listModel.addElement("Dosya Yolu : " + file.getPath());
listModel.addElement("Dosya Parent : " + file.getParent());
}
});
}

public static void main(String[] args)
{
new MySwing();
}
}



Programın ekran görüntüsü de aşağıdaki gibi.
Görüldüğü gibi geliştirdiğimiz uygulama çok basit bir Swing örneği olmasına karşın, içerisinde pekçok önemli özelliği barındırıyor. Bu örnek ile, JFileChooser, JButton, JList gibi Swing bileşenleri ile oldukça basit ama etkili olay yönetimli bir swing programının nasıl geliştirildiğini kodları inceleyerek öğrenebilirsiniz.Umarım bazı arkadaşlar için fikir verici bir uygulama örneği olmuştur. Başka yazılar da görüşmek üzere…
 

Users Who Are Viewing This Konu (Users: 0, Guests: 1)

Üst