Ver Mensaje Individual
  #7 (permalink)  
Antiguo 05/02/2010, 13:14
ipadilla
 
Fecha de Ingreso: enero-2010
Mensajes: 18
Antigüedad: 15 años
Puntos: 0
Respuesta: ¿Por qué no compila este código?

Fuzzylog y asd9090, lo prometido es deuda...

He logrado que esta clase funcione de la forma siguiente, pero no estoy seguro de que sea la forma más correcta. ¿Alguna sugerencia?.

=========================================== =======

// Source File Name: FileElement.java

package org.jfm.views;

import java.io.File;

public class FileElement extends File
implements Comparable
{

public FileElement(String pathname)
{
this(pathname, false);
}

public FileElement(String pathname, boolean topFile)
{
super(pathname);
setTopFile(topFile);
}

public String toString()
{
if(isTopFile())
&nbs p; return "..";
else
&nbs p; return getName();
}

public void setTopFile(boolean topFile)
{
this.topFile = topFile;
}

public boolean isTopFile()
{
return topFile;
}

public FileElement getRootFile()
{
return getRootFile(this);
}

private FileElement getRootFile(FileElement f)
{
String parentPath = f.getParent();
if(parentPath == null)
{
&nbs p; return f;
} else
{
&nbs p; FileElement parent = new FileElement(parentPath);
&nbs p; return getRootFile(parent);
}
}

public int compareTo(File o)
{
// FileElement el = (FileElement)o;
if(isDirectory() && !o.isDirectory())
&nbs p; return -1;
if(!isDirectory() && o.isDirectory())
&nbs p; return 1;
else
&nbs p; return toString().compareTo(o.toString());
}

private boolean topFile;
}

=================================================

ipadilla