usar una tabla nombre insertar filas encabezado dinamicamente como columnas agregar java swing jtable

una - jtable java netbeans



JTable no mostrarĂ¡ encabezados de columna (4)

Coloque su JTable dentro de JScrollPane . Prueba esto:

add(new JScrollPane(scrTbl));

Tengo el siguiente código para crear una instancia de JTable: la tabla aparece con el número correcto de filas y columnas, pero no hay ningún signo de los títulos encima de las columnas.

public Panel1() { int nmbrRows; setLayout(null); setBackground(Color.magenta); Vector colHdrs; //create column headers colHdrs = new Vector(10); colHdrs.addElement(new String("Ticker")); // more statements like the above to establish all col. titles nmbrRows = 25; DefaultTableModel tblModel = new DefaultTableModel(nmbrRows, colHdrs.size()); tblModel.setColumnIdentifiers(colHdrs); scrTbl = new JTable(tblModel); scrTbl.setBounds(25, 50, 950, 600); scrTbl.setBackground(Color.gray); scrTbl.setRowHeight(23); add(scrTbl); //rest of constructor ... }

Comparando esto con otro código de fabricación de tablas, no veo ningún paso que falte, pero algo debe estar ausente.


Como se dijo en las respuestas anteriores, la forma "normal" es agregarlo a un JScrollPane, pero a veces no desea que se desplace (no me pregunte cuándo :)). Luego puede agregar el TableHeader usted mismo. Me gusta esto:

JPanel tablePanel = new JPanel(new BorderLayout()); JTable table = new JTable(); tablePanel.add(table, BorderLayout.CENTER); tablePanel.add(table.getTableHeader(), BorderLayout.NORTH);


La principal diferencia entre esta respuesta y la aceptada es el uso de setViewportView() lugar de add() .

Cómo poner JTable en JScrollPane usando Eclipse IDE:

  1. Cree el contenedor JScrollPane través de la pestaña Diseño.
  2. Estire JScrollPane al tamaño deseado (se aplica al diseño absoluto).
  3. Arrastre y suelte el componente JTable encima de JScrollPane (área de la vista).

En Estructura> Componentes, la table debe ser un elemento secundario de scrollPane .

El código generado sería algo como esto:

JScrollPane scrollPane = new JScrollPane(); ... JTable table = new JTable(); scrollPane.setViewportView(table);


public table2() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 485, 218); setTitle("jtable"); getContentPane().setLayout(null); String data[][] = { { "Row1/1", "Row1/2", "Row1/3" }, { "Row2/1", "Row2/2", "Row2/3" }, { "Row3/1", "Row3/2", "Row3/3" }, { "Row4/1", "Row4/2", "Row4/3" }, }; String header[] = { "Column 1", "Column 2", "Column 3" }; // Table JTable table = new JTable(data,header); // ScrollPane JScrollPane scrollPane = new JScrollPane(table); scrollPane.setBounds(36, 37, 407, 79); getContentPane().add(scrollPane); }

}

¡¡prueba esto!!