05/02/2010, 13:14
|
| | 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 |