Ciao Zero-2 !
Ti ho preparato del codice di esempio.
Quando ti interessa personalizzare alcuni componenti, prova ad utilizzare i loro 'modelli logici interni'.
codice:
import java.awt.Dimension;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.*;
class TableExample extends JFrame {
TableExample() {
super("Address Book");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
///////////////////////////////////////////////
// n° di righe
int rows = 10;
// n° di colonne
int columns = 4;
// etichette colonne
String[] labels = {"Column 0", "Column 1", "Column 2", "Column 3"};
// larghezza colonne
int[] widths = {50, 70, 120, 100};
// vettore dati tabella
Vector data = new Vector(0, 1);
// vettore colonne tabella
Vector columnNames = new Vector(0, 1);
// popolo la tabella
for(int i = 0; i < rows; i++) {
// vettore singola riga tabella
Vector row = new Vector();
for(int j = 0; j < columns; j++) {
row.addElement("value " + i + j);
}
data.addElement(row);
}
// intestazioni colonne
for(int i = 0; i < columns; i++) {
columnNames.addElement(labels[i]);
}
// modello dati della tabella
DefaultTableModel tableModel = new DefaultTableModel(data, columnNames);
// modello attributi delle colonne
DefaultTableColumnModel columnModel = new DefaultTableColumnModel();
for(int i = 0; i < columns; i++) {
// modello attributi colonna singola
TableColumn column = new TableColumn(i, widths[i]);
column.setHeaderValue(labels[i]);
columnModel.addColumn(column);
}
// la tabella
JTable table = new JTable(tableModel, columnModel);
table.setPreferredScrollableViewportSize(new Dimension(350, 100));
JScrollPane scroll = new JScrollPane(table);
///////////////////////////////////////////////////
getContentPane().add(scroll);
pack();
setVisible(true);
}
public static void main(String[] args) {
new TableExample();
}
}