Saludos a todos.
Me gustaría que me ayudaran a resolver el siguiente inconveniente que tengo.
Estoy listando todos los directorios y archivos que tengo en el Disco C: en un JList (hasta ahi toto bien), pero quiero que al seleccionar un archivo haciendo doble click, o presionando un boton que el contenido de dicho archivo se visualize en un JTextArea.
Aqui esta todo el codigo, espero me puedan ayudar. Gracias de antemano!
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.DefaultListModel;
import javax.swing.*;
public class JListDemo extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JScrollPane jspLista = null;
private JList lista = null;
private JScrollPane jspTexto = null;
private JTextField texto = null;
private JButton btnVerContenido = null;
private JButton btnLimpiarTexto = null;
//private DefaultListModel modeloLista = null;
public JListDemo() {
super();
//modeloLista = new DefaultListModel();
initialize();
}
private void initialize() {
this.setSize(659, 454);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJspLista(), null);
jContentPane.add(getJspTexto(), null);
jContentPane.add(getBtnVerContenido(), null);
jContentPane.add(getBtnLimpiarTexto(), null);
}
return jContentPane;
}
private JScrollPane getJspLista() {
if (jspLista == null) {
jspLista = new JScrollPane();
jspLista.setBounds(new Rectangle(17, 35, 190, 326));
jspLista.setViewportView(getLista());
}
return jspLista;
}
/*
public void agregarFicherosALista(){
//modeloLista = new DefaultListModel(); //inicializo DefaultListModel
//creo un objecto tipo file que contiene el directorio de archivos
File directorio = new File("C:\\");
//creo un array tipo File y le agrego los directorios que hay en el Disco C:\
File[] archivos = directorio.listFiles();
modeloLista.addElement(archivos); //le paso el array a modeloLista
}
*/
private JList getLista() {
if (lista == null) {
File directorio = new File("C:\\");
//creo un array tipo File y le agrego los directorios que hay en el Disco C:\
File[] archivos = directorio.listFiles();
//le paso el array de archivos a la lista para ser desplegados
lista = new JList(archivos);
}
//lista.setModel(modeloLista);
return lista;
}
/**
* This method initializes jspTexto
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJspTexto() {
if (jspTexto == null) {
jspTexto = new JScrollPane();
jspTexto.setBounds(new Rectangle(248, 33, 368, 326));
jspTexto.setViewportView(getTexto());
}
return jspTexto;
}
private JTextField getTexto() {
if (texto == null) {
texto = new JTextField();
}
return texto;
}
private JButton getBtnVerContenido() {
if (btnVerContenido == null) {
btnVerContenido = new JButton();
btnVerContenido.setBounds(new Rectangle(326, 372, 149, 32));
btnVerContenido.setText("Visualizar contenido");
}
btnVerContenido.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//aqui deberia ir el codigo que necesito para visualizar
//el contenido del archivo seleccionado
}
});
return btnVerContenido;
}
private JButton getBtnLimpiarTexto() {
if (btnLimpiarTexto == null) {
btnLimpiarTexto = new JButton();
btnLimpiarTexto.setBounds(new Rectangle(490, 372, 125, 32));
btnLimpiarTexto.setText("Limpiar pantalla");
}
return btnLimpiarTexto;
}
} // @jve:decl-index=0:visual-constraint="10,10"