
Mostrar contenido de archivo txt en un JTextArea JAVA
Publicado por Cristian (1 intervención) el 09/12/2014 21:55:14
Saludos,
Mi duda es la siguiente, estoy colaborando con un amigo para llevar a cabo un programa que abre archivos txt y muestra su contenido en un JTextArea. El problema es que, el dichoso text area esta en una clase diferente, separado de las demas clases, como el menu. Instancio un objeto de tipo JTextArea dentro de la clase AreaTexto y en la clase BarraMenu, que contiene el menú, coloco el siguiente codigo para que al hacer click en "abrir" me permita buscar el archivo txt en cuestion:
public void actionPerformed(ActionEvent evento) {
if (evento.getSource()==salir)System.exit(0);
if (evento.getSource()==acercaDe)JOptionPane.showMessageDialog(null," Programa Desarrollado por Omar y Brandon");
if (evento.getSource()==contacto)JOptionPane.showMessageDialog(null," Nuestro Mail de Contacto [email protected]");
if(evento.getSource()==abrir){
JFileChooser Buscador = new JFileChooser();
Buscador.showOpenDialog(Buscador);
File file = Buscador.getSelectedFile();
try {
Path path= Paths.get(file.getAbsolutePath());
String retorno = new String (Files.readAllBytes(path));
AreaTexto texto = new AreaTexto();
texto.setText(retorno);
//abrir.setText(retorno);
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "No conseguimos cargar el Archivo");
}
}
}
El tema está en que, instancio un objeto de tipo AreaTexto y le paso todo el contenido del archivo a "texto", que en la clase AreaTexto esta definido como tipo JTextArea de la siguiente forma:
public AreaTexto(){
// Se inicializa la variable
JTextArea texto = new JTextArea();
// Se define el salto de linea automático
// (cuando llega al final del JTextArea hace un salto de línea)
//texto.setLineWrap(true); La coloqué en "PanelDerecho.java"
// Se asigna posicion y tamaño al JTextArea
texto.setBounds(30, 30, 300, 200);
super.setSize(600, Ventana.ALTO);
super.setPreferredSize(new Dimension(600, Ventana.ALTO));
JScrollPane sp = new JScrollPane(texto);
super.add( new JScrollPane(sp));
}
Pero al hacerlo, no pasa absolutamente nada, no reconoce el controlador JTextArea.
Podrían orientarme de mejor forma, ya que no encuentro la forma de hacerlo funcionar.
Desde ya muchas gracias.
Mi duda es la siguiente, estoy colaborando con un amigo para llevar a cabo un programa que abre archivos txt y muestra su contenido en un JTextArea. El problema es que, el dichoso text area esta en una clase diferente, separado de las demas clases, como el menu. Instancio un objeto de tipo JTextArea dentro de la clase AreaTexto y en la clase BarraMenu, que contiene el menú, coloco el siguiente codigo para que al hacer click en "abrir" me permita buscar el archivo txt en cuestion:
public void actionPerformed(ActionEvent evento) {
if (evento.getSource()==salir)System.exit(0);
if (evento.getSource()==acercaDe)JOptionPane.showMessageDialog(null," Programa Desarrollado por Omar y Brandon");
if (evento.getSource()==contacto)JOptionPane.showMessageDialog(null," Nuestro Mail de Contacto [email protected]");
if(evento.getSource()==abrir){
JFileChooser Buscador = new JFileChooser();
Buscador.showOpenDialog(Buscador);
File file = Buscador.getSelectedFile();
try {
Path path= Paths.get(file.getAbsolutePath());
String retorno = new String (Files.readAllBytes(path));
AreaTexto texto = new AreaTexto();
texto.setText(retorno);
//abrir.setText(retorno);
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "No conseguimos cargar el Archivo");
}
}
}
El tema está en que, instancio un objeto de tipo AreaTexto y le paso todo el contenido del archivo a "texto", que en la clase AreaTexto esta definido como tipo JTextArea de la siguiente forma:
public AreaTexto(){
// Se inicializa la variable
JTextArea texto = new JTextArea();
// Se define el salto de linea automático
// (cuando llega al final del JTextArea hace un salto de línea)
//texto.setLineWrap(true); La coloqué en "PanelDerecho.java"
// Se asigna posicion y tamaño al JTextArea
texto.setBounds(30, 30, 300, 200);
super.setSize(600, Ventana.ALTO);
super.setPreferredSize(new Dimension(600, Ventana.ALTO));
JScrollPane sp = new JScrollPane(texto);
super.add( new JScrollPane(sp));
}
Pero al hacerlo, no pasa absolutamente nada, no reconoce el controlador JTextArea.
Podrían orientarme de mejor forma, ya que no encuentro la forma de hacerlo funcionar.
Desde ya muchas gracias.
Valora esta pregunta


0