DirectoryTable.java


Dosyayı İndir
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class DirectoryTable extends JTable{
  private File theDirectoryIcon,theNormalFileIcon;
  private DirectoryTableModel theModel;
  private File theDirectory;
  public DirectoryTable(File directory,File directoryIcon,File normalIcon){
    theDirectory=directory;
    theDirectoryIcon=directoryIcon;
    theNormalFileIcon=normalIcon;
    addMouseListener(new MouseAdapter(){
      public void mouseClicked(MouseEvent e){
        if(e.getClickCount()==2){
          clicked();
        }
      }
    });
    theModel=new DirectoryTableModel(directory);
    setModel(theModel);
    TableColumn tc=getColumnModel().getColumn(0);
    tc.setCellRenderer(getRenderer());
  }
  public void setDirectory(File directory){
    theDirectory=directory;
    theModel.setDirectory(theDirectory);
  }
  public void up(){
    File file=theDirectory.getParentFile();
    if(file!=null){
      setDirectory(file);
    }
  }
  private void clicked(){
    int row=getSelectedRow();
    File file=theModel.getFile(row);
    if(file.isDirectory()){
      setDirectory(file);
    }
  }
  private DefaultTableCellRenderer getRenderer(){
    return new DefaultTableCellRenderer(){
      public Component getTableCellRendererComponent(
          JTable table,Object value,
          boolean isSelected,
          boolean hasFocus,
          int row,
          int column)
      {
        File file=(File)value;
        JLabel label=(JLabel)super.getTableCellRendererComponent(table,file.getName(),isSelected,hasFocus,row,column);
        String iconName=theDirectoryIcon.getPath();
        if(!file.isDirectory()){
          iconName=theNormalFileIcon.getPath();
        }
        label.setIcon(new ImageIcon(iconName));
        return label;
      }
    };
  }
}
				
Dosyayı İndir

Bu Sayfayı Paylaş:




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir