Thread View: es.comp.lenguajes.java
3 messages
3 total messages
Started by AlejandroArias
Fri, 16 Nov 2007 21:45
Java Jtable Vector
Author: AlejandroArias
Date: Fri, 16 Nov 2007 21:45
Date: Fri, 16 Nov 2007 21:45
34 lines
2293 bytes
2293 bytes
Saludos tengo un vector asi:
Vector ListadoCD = new Vector();
ListadoCD.addElement(new CD("R1", "50 Cent", "Rap", "20000"));
ListadoCD.addElement(new CD("P2", "Ricardo Arjona", "Pop",
"35000"));
ListadoCD.addElement(new CD("D3", "Antoine Clamaran","Dance",
"30000"));
ListadoCD.addElement(new CD("S5", "Victor Manuelle","Salsa",
"23000"));
ESto es loq sifnifica los datos
lblCodigoCD = new JLabel("Codigo");
lblArtista = new JLabel("Artista");
lblGenero = new JLabel("Genero");
lblPrecio = new JLabel("Precio");
NEcesito mostrarlo en un JTable
DefaultTableModel modelo = new DefaultTableModel();
JTable Tabla = new JTable(modelo);
BorderLayout borderLayout1 = new BorderLayout();
final JTable table = new JTable(ListadoCD, titulos);
table.setPreferredScrollableViewportSize(new
Dimension(500, 70));
Pero me dice que el tipo de ListadoCD no es strig, que debo hacer para
solucionar esto?
Re: Java Jtable Vector
Author: Ricardo Palomares Martinez
Date: Sun, 18 Nov 2007 19:36
Date: Sun, 18 Nov 2007 19:36
71 lines
3378 bytes
3378 bytes
AlejandroArias escribió:
> Saludos tengo un vector asi:
>
> Vector ListadoCD = new Vector();
>
> ListadoCD.addElement(new CD("R1", "50 Cent", "Rap", "20000"));
> ListadoCD.addElement(new CD("P2", "Ricardo Arjona", "Pop",
> "35000"));
> ListadoCD.addElement(new CD("D3", "Antoine Clamaran","Dance",
> "30000"));
> ListadoCD.addElement(new CD("S5", "Victor Manuelle","Salsa",
> "23000"));
>
>
> ESto es loq sifnifica los datos
>
> lblCodigoCD = new JLabel("Codigo");
> lblArtista = new JLabel("Artista");
> lblGenero = new JLabel("Genero");
> lblPrecio = new JLabel("Precio");
>
>
> NEcesito mostrarlo en un JTable
>
> DefaultTableModel modelo = new DefaultTableModel();
>
> JTable Tabla = new JTable(modelo);
> BorderLayout borderLayout1 = new BorderLayout();
>
> final JTable table = new JTable(ListadoCD, titulos);
> table.setPreferredScrollableViewportSize(new
> Dimension(500, 70));
>
> Pero me dice que el tipo de ListadoCD no es strig, que debo hacer para
> solucionar esto?
Diría que leer la documentación puede ser un primer paso:
http://java.sun.com/javase/6/docs/api/javax/swing/JTable.html
http://java.sun.com/docs/books/tutorial/uiswing/index.html
Estás creando un Vector, luego un TableModel, luego un JTable (Tabla),
y luego otro JTable que usa ListadoCD como datos de un
DefaultTableModel. Los títulos de las columnas nos los muestras como
JLabels, y no veo por ningún lado qué es "titulos".
No nos enseñas todo el código relevante, pero si tiene la misma
organización que el que has puesto, es que puede haber de todo ahí. Si
quieres crear una tabla con una serie de datos fijos como los que
propones, debería bastar con algo así:
String[] columnNames = {"Código", "Artista", "Género", "Precio"};
Object[][] data = {
{"R1", "50 Cent", "Rap", new Integer(20000)},
{"P2", "Ricardo Arjona", "Pop", new Integer(35000),
(...)
};
JTable table = new JTable(data, columnNames);
Vector es una clase "thread-safe", lo que la hace ser bastante lenta.
Deberías acostumbrarte a usarla sólo cuando sea imprescindible.
Saludos.
--
If it's true that we are here to help others,
then what exactly are the OTHERS here for?
Re: Java Jtable Vector
Author: AlejandroArias
Date: Mon, 19 Nov 2007 14:57
Date: Mon, 19 Nov 2007 14:57
62 lines
3653 bytes
3653 bytes
Hola Ricardo, gracias por tu respuesta, bueno realmente apenas estoy
aprendiendo java, el fin de semana estuve mirando y encontre una
solucion, aunqe no la mas ortodoxa pero bueno,
basicamente lo que hago es convertir ese vector de objetos que tengo
en vector de strings, o eso es lo que creo entiendo lo que hace el
ciclo, y ahi si puedo muestrar el vector de strings en el JTable.
btnListar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Vector vectorDatos = new Vector();
for(int i = 0; i < ListadoCD.size(); i++){
Vector vectorAux = new Vector();
vectorAux.add((((CD)ListadoCD.elementAt(i)).getCodigo()));
vectorAux.add((((CD)ListadoCD.elementAt(i)).getArtista()));
vectorAux.add((((CD)ListadoCD.elementAt(i)).getGenero()));
vectorAux.add((((CD)ListadoCD.elementAt(i)).getPrecio()));
vectorDatos.add(vectorAux);
}
Vector vectorCabecera = new Vector();
vectorCabecera.add("Codigo CD");
vectorCabecera.add("Artista");
vectorCabecera.add("Genero");
vectorCabecera.add("Precio");
JFrame ventana = new JFrame();
JTable tabla = new JTable(vectorDatos,
vectorCabecera);
tabla.setPreferredScrollableViewportSize(new
Dimension(380, 70));
tabla.setEnabled(false);
tabla.setShowHorizontalLines( false );
tabla.setForeground(Color.blue);
tabla.setBackground(Color.pink);
JScrollPane jScrollPane = new JScrollPane();
jScrollPane.setViewportView(tabla);
ventana.getContentPane().add(jScrollPane);
ventana.setTitle("Listado de CD's (Tamaño Vector
Actual["+ ListadoCD.size() +"])");
//Iniciar la ventana aproximadamente en el centro de
la pantalla.
Dimension screenSize =
Toolkit.getDefaultToolkit().getScreenSize();
ventana.setLocation(screenSize.width/3 ,
screenSize.height/2);
ventana.pack();
ventana.setVisible(true);
}
});
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads