Ciao a tutti
volevo sapere, come mai quando premo il bottone "Mostra dati"
i dati non vengono visualizzati dentro la tabella?

grazie

codice:
package jtable;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;

import jtable.CopyOfTableWithMyTableModel.MyTableModel;

public class TableWithMyTableModel extends JFrame implements ActionListener{
	private static final long serialVersionUID = 7819467000377326603L;
	MyTableModel dataModel = null;
	public TableWithMyTableModel() {

		// predispone il vettore
		Vector v = new Vector();

		
		// crea il modello di dati
		// a partire dal vettore
		dataModel = new MyTableModel(v);

		// crea la tabella
		final JTable table = new JTable(dataModel);

		// aggiunge la tabella ad uno ScollPane
		JScrollPane scrollpane = new JScrollPane(table);

		getContentPane().setLayout(new BorderLayout());
		
		getContentPane().add(scrollpane, BorderLayout.NORTH);
		
		JButton b = new JButton("Mostra dati");
		b.addActionListener(this);
		
		getContentPane().add(b, BorderLayout.SOUTH);

	}

	public static void main(String[] args) {
		TableWithMyTableModel frame = new TableWithMyTableModel();
		frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
		frame.pack();
		frame.setVisible(true);
	}

	private class MyBean {
		private String lastname = null;
		private String name = null;
		private int age = 0;

		public MyBean(String lastname, String name, int age) {
			this.name = name;
			this.age = age;
			this.lastname = lastname;

		}

		public String getLastname() {
			return lastname;
		}

		public String getName() {
			return name;
		}

		public int getAge() {
			return age;
		}

		public Object[] getRowData() {
			Object[] rowData = new Object[3];
			rowData[0] = lastname;
			rowData[1] = name;
			rowData[2] = age;
			return rowData;
		}

	}

	class MyTableModel extends DefaultTableModel {
		Vector v = null;
		// intestazioni delle colonne
		String[] ColName = { "Cognome", "Nome", "Età" };

		public MyTableModel(Vector v) {
			this.v = v; // inizializzato con il vettore
		}

		// il numero di colonne
		public int getColumnCount() {
			return ColName.length;
		}

		// numero righe = dimensione del vettore
		public int getRowCount() {
			int size = (v!=null)?v.size():0;
			return size;
		}

		// ritorna il contenuto di una riga
		public MyBean getMyBeanAtSelectedRow(int row) {
			// seleziona il libro
			MyBean b = (MyBean) v.elementAt(row);

			return b;
		}

		// ritorna il contenuto di una cella
		public Object getValueAt(int row, int col) {
			// seleziona il libro
			MyBean b = (MyBean) v.elementAt(row);
			String val = null;
			// la stringa corrispondente alla colonna
			switch (col) {
			case 0:
				val = b.lastname;
				break;
			case 1:
				val = b.name;
				break;
			case 2:
				val = Integer.toString(b.age);
				break;
			default:
				val = "";
			}
			return val;
		}

		// ritorna il nome della colonna
		public String getColumnName(int col) {
			return ColName[col];
		}

		// specifica se le celle sono editabili
		public boolean isCellEditable(int row, int col) {
			// nessuna cella editabile
			return false;
		}
		
		void add(MyBean myBean) {
			v.add(myBean);
		}

	}

	public void actionPerformed(ActionEvent e) {
		MyBean myBean1 = new MyBean("Illo1", "Andrea1", 30);
		MyBean myBean2 = new MyBean("Illo2", "Andrea2", 30);
		MyBean myBean3 = new MyBean("Illo3", "Andrea3", 30);
		MyBean myBean4 = new MyBean("Illo3", "Andrea3", 30);
		MyBean myBean5 = new MyBean("Illo3", "Andrea3", 30);
		MyBean myBean6 = new MyBean("Illo3", "Andrea3", 30);
		MyBean myBean7 = new MyBean("Illo3", "Andrea3", 30);
		MyBean myBean8 = new MyBean("Illo3", "Andrea3", 30);

		dataModel.add(myBean1);
		dataModel.add(myBean2);
		dataModel.add(myBean3);
		dataModel.add(myBean4);
		dataModel.add(myBean5);
		dataModel.add(myBean6);
		dataModel.add(myBean7);
		dataModel.add(myBean8);

		repaint();
		validate();
		
		System.out.println("dati visualizzati");
	}
}