Foros del Web » Programación para mayores de 30 ;) » Java »

¿Cómo añadir una tabla a un área de texto?

Estas en el tema de ¿Cómo añadir una tabla a un área de texto? en el foro de Java en Foros del Web. Yo sigo trabajando en esto de aprender Java. Anda que no es difícil. Ya he conseguido hacer un programa para que abra una ventana y ...
  #1 (permalink)  
Antiguo 04/11/2010, 01:34
 
Fecha de Ingreso: febrero-2005
Mensajes: 76
Antigüedad: 19 años, 10 meses
Puntos: 1
¿Cómo añadir una tabla a un área de texto?

Yo sigo trabajando en esto de aprender Java. Anda que no es difícil.

Ya he conseguido hacer un programa para que abra una ventana y coloque un área de texto. Menos mal que aquí no puedo oír vuestras carcajadas. La añado a la venta de la siguiente forma:

v.getContentPane().add(scroll);

"scroll" es el nombre que le he dado al área de texto, lo he sacado de un tutorial

También he logrado crear una tabla con sus respectivos valores, la llamo "table" y la coloco así:

v.getContentPane().add(table);

Lo que me pasa es que cuando compilo el programa y lo ejecuto me coloca la tabla sobre el área de texto, bien por ahí, pero si escribo algo me borra la tabla y no puedo seleccionar ningún valor. Primera pregunta ¿es esto normal? ¿se puede hacer para que los valores sean seleccionables?

Si trato de escribir en el área de texto y pulso el Intro me borra la tabla ¿cómo se puede evitar?

Ahora viene lo más gracioso. Si vuelvo a ejecutar el programa sin compilar la tabla ya no aparece. Como os lo digo.

Bueno, en definitiva ¿cómo puedo añadir las dos cosas y que sean seleccionables los texto y números

Muchas gracias.

PD

Por si acaso el código

import javax.swing.JTextArea;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.WindowConstants;
import javax.swing.JTable;

import java.awt.*;
import java.awt.event.*;

public class columnas{
private JTextArea areaTexto;
public columnas(){
JFrame v = new JFrame ("Pantalla con columnas");
JTextArea areaTexto = new JTextArea(25, 80);
areaTexto.setLineWrap(true);
areaTexto. setWrapStyleWord(true);
JScrollPane scroll = new JScrollPane(areaTexto);

v.getContentPane().add(scroll);
v.setDefaultCloseOperation(WindowConstants.EXIT_ON _CLOSE);
v.pack();
Dimension pant = Toolkit.getDefaultToolkit().getScreenSize();
Dimension ventana = v.getSize();
v.setVisible(true);

//}
Object[][] data ={
{"Mary", "Campione", "Esquiar", new Integer(5), new Boolean

(false)},
{"Lhucas", "Huml", "Patinar", new Integer(3), new Boolean(true)},
{"Kathya", "Walrath", "Escalar", new Integer(2), new Boolean

(false)},
{"Marcus", "Andrews", "Correr", new Integer(7), new Boolean

(true)},
{"Angela", "Lalth", "Nadar", new Integer(4), new Boolean(false)}

};
String[] columnasNames={"Nombre", "Apellido", "Pasatiempo", "Años de

prácticas", "Soltero(a)"};

final JTable table = new JTable(data, columnasNames);
//table.setPreferredScrollableViewportSize(new Dimension(500, 70));



v.getContentPane().add(table);
}


public static void main(String[] args){
new columnas();
}
}

Última edición por septiniosevero; 04/11/2010 a las 01:34 Razón: la URL daba problemas
  #2 (permalink)  
Antiguo 04/11/2010, 08:08
 
Fecha de Ingreso: noviembre-2010
Mensajes: 19
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: ¿Cómo añadir una tabla a un área de texto?

Se nota de verdad que estas empezando a meterte en el cuento, tu problemas es que no estas ubicando los componentes en el area al que los asignas. A ciencia cierta tienes una mala practica en cuanto al codigo se refiere, por eso comparto mi experiencia contigo espero te ayude.

Ejemplo:
Código Java:
Ver original
  1. package prueba;
  2.  
  3. import javax.swing.JFrame;
  4. import javax.swing.JPanel;
  5. import javax.swing.JScrollPane;
  6. import javax.swing.JTable;
  7. import javax.swing.JTextArea;
  8. import javax.swing.table.DefaultTableModel;
  9.                     //Exto me dice que es una ventana
  10. public class Prueba extends JFrame{
  11.    
  12.     //Contenedor
  13.     private JPanel panel;
  14.    
  15.     //Componentes
  16.     private JTextArea area = new JTextArea();
  17.     private JTable tabla = new JTable();
  18.     private JScrollPane scroll = new JScrollPane(tabla);
  19.     private DefaultTableModel modelo = new DefaultTableModel();
  20.    
  21.     public Prueba(){
  22.         //Asigno el contenedor de la principal
  23.         panel = (JPanel) getContentPane();
  24.        
  25.         //Asigno un layout para la ubicacion de mis componentes
  26.         panel.setLayout(null);
  27.        
  28.         //agrego mis componentes
  29.        
  30.         area.setBounds(10, 10, 300, 100);
  31.         panel.add(area);
  32.        
  33.         modelo.addColumn("Nombre");
  34.         modelo.addColumn("Identificacion");
  35.         modelo.addColumn("Estado");
  36.         tabla.setModel(modelo);
  37.         scroll.setBounds(10, 120, 300, 100);
  38.         panel.add(scroll);
  39.        
  40.         //configuro la ventana
  41.        
  42.         setSize(320,280);
  43.         setResizable(false);
  44.         setVisible(true);
  45.         setLocationRelativeTo(null);
  46.         setDefaultCloseOperation(DISPOSE_ON_CLOSE);
  47.     }
  48.    
  49.     //Aqui declaro los metodos
  50.  
  51.     public static void main(String arg[]){
  52.            
  53.         new Prueba();
  54.     }
  55. }

Por otro lado te dejo una tarea, investiga los layouts y trabaja con el que mas te identifiques.

Etiquetas: añadir, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:46.