Ver unidades de disco desde una aplicacion
Tengo esto programado en Java, he estado indagando por Internet, pero no encontre nada de nada. Lo que quiero es que me liste las unidades de disco en Java, es decir, ver C:, D:, y ya poder elegir cual quiero ver.
Gracias
Aqui dejo la aplicacion creada:
public class visor
{
public JFrame ventana=new JFrame();
public File fichero ;
public visor(String q){
int cont1=0,cont2=0,cont=0;
fichero= new File(q);
File[] lista = fichero.listFiles();
JPanel uno = new JPanel();
JPanel dos= new JPanel();
JPanel sur=new JPanel();
JPanel principal= new JPanel();
JPanel auxp= new JPanel();
JButton atras=new JButton("Atras");
atras.addActionListener(new pulsaratras());
for (int i = 0; i < lista.length; i++)
{
if (lista[i].isDirectory())
{
cont1++;
JButton aux1 = new JButton(lista[i].getName());
aux1.addActionListener(new pulsar());
aux1.setName(lista[i].getAbsolutePath() );
uno.add(aux1);
}
}
for (int i = 0; i < lista.length; i++)
{
if (!lista[i].isDirectory())
{
cont2++;
JLabel aux = new JLabel(lista[i].getName());
dos.add(aux);
}
}
if (cont1>cont2)
cont=cont1;
else
cont=cont2;
uno.setLayout(new GridLayout(cont, 1));
dos.setLayout(new GridLayout(cont,1));
auxp.add(new JLabel(" "));
sur.add(atras);
//principal.setLayout(new GridLayout(1,3));
principal.setLayout(new BorderLayout());
principal.add(auxp,BorderLayout.CENTER );
principal.add(dos,BorderLayout.EAST );
principal.add(uno,BorderLayout.WEST );
principal.add(sur,BorderLayout.SOUTH );
ventana.setContentPane(principal);
ventana.pack();
ventana.show();
}
public static void main(String[] args)
{
new visor ("C:\");
}
class pulsar implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String nombre;
nombre= ((JButton)e.getSource()).getName();
ventana.hide();
new visor(nombre);
}
}
class pulsaratras implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String nombre;
nombre= fichero.getParent();
ventana.hide();
new visor(nombre);
}
}
}
Gracias
Aqui dejo la aplicacion creada:
public class visor
{
public JFrame ventana=new JFrame();
public File fichero ;
public visor(String q){
int cont1=0,cont2=0,cont=0;
fichero= new File(q);
File[] lista = fichero.listFiles();
JPanel uno = new JPanel();
JPanel dos= new JPanel();
JPanel sur=new JPanel();
JPanel principal= new JPanel();
JPanel auxp= new JPanel();
JButton atras=new JButton("Atras");
atras.addActionListener(new pulsaratras());
for (int i = 0; i < lista.length; i++)
{
if (lista[i].isDirectory())
{
cont1++;
JButton aux1 = new JButton(lista[i].getName());
aux1.addActionListener(new pulsar());
aux1.setName(lista[i].getAbsolutePath() );
uno.add(aux1);
}
}
for (int i = 0; i < lista.length; i++)
{
if (!lista[i].isDirectory())
{
cont2++;
JLabel aux = new JLabel(lista[i].getName());
dos.add(aux);
}
}
if (cont1>cont2)
cont=cont1;
else
cont=cont2;
uno.setLayout(new GridLayout(cont, 1));
dos.setLayout(new GridLayout(cont,1));
auxp.add(new JLabel(" "));
sur.add(atras);
//principal.setLayout(new GridLayout(1,3));
principal.setLayout(new BorderLayout());
principal.add(auxp,BorderLayout.CENTER );
principal.add(dos,BorderLayout.EAST );
principal.add(uno,BorderLayout.WEST );
principal.add(sur,BorderLayout.SOUTH );
ventana.setContentPane(principal);
ventana.pack();
ventana.show();
}
public static void main(String[] args)
{
new visor ("C:\");
}
class pulsar implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String nombre;
nombre= ((JButton)e.getSource()).getName();
ventana.hide();
new visor(nombre);
}
}
class pulsaratras implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String nombre;
nombre= fichero.getParent();
ventana.hide();
new visor(nombre);
}
}
}
