ciao a tutti!
ho un problema che riguarda sempre le JTable ( ).
ho creato una query che fa una select di dati da un db access,la mette in un vettore e questo viene passato ad una JTable con cui vengono visualizzati i dati.
il problema è che di 10 elementi che ho nel vettore la jTable me ne restituisce solamente i primi 6!
allego qui il codice:
codice:
/**
 * 
 */
import it.bollette.genericClass.JDialogCentrate;
import it.bollette.mian.Main;
import it.bollette.model.ModelBolletta;
import it.bollette.model.ModelEnte;
import it.bollette.query.RisultatiSQL;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Rectangle;
import java.sql.SQLException;
import java.util.Vector;

import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.WindowConstants;
import javax.swing.table.AbstractTableModel;

/**
 * @author marialaura
 * 
 */
public class RicercaBollettaJD extends JDialogCentrate {

	private static final long serialVersionUID = 1L;
	private JPanel jContentPane = null;
	private JPanel jPanel = null;
	private JLabel azioneJL = null;
	private Frame frame = null;
	RisultatiSQL rs = new RisultatiSQL();

	class RicercaTableModel extends AbstractTableModel {
		/**
		 * 
		 */
		private static final long serialVersionUID = 1L;
		private Vector data = new Vector();
		private String[] columnNames = { "Anno", "Mese", "Ente", "Data Scad." };

		public int getColumnCount() {
			return columnNames.length;
		}

		public int getRowCount() {
			return data.size();
		}

		public String getColumnName(int col) {
			return columnNames[col];
		}

		public Object getValueAt(int row, int col) {
			ModelBolletta me = new ModelBolletta();
			me = (ModelBolletta) data.get(row);
			switch (col) {
			case 0:
				return me.getAnno();
			case 1:
				return me.getMese();
			case 2:
				return me.getEnte().getNome();
			case 3:
				return me.getScadenza();
			default:
				return "";
			}
		}

		public void setValueAt(Object value, int row, int col) {
			ModelBolletta mb = new ModelBolletta();
			mb = (ModelBolletta) data.get(row);
			switch (col) {
			case 0:
				mb.setAnno((String) value);
				break;
			case 1:
				mb.setMese((String) value);
				break;
			case 2:
				mb.setEnte((ModelEnte) value);
				break;
			case 3:
				mb.setScadenza((String) value);
				break;
			default:
				return;
			}
			fireTableCellUpdated(row, col);
		}

		public void addRows(ModelBolletta mb) {
			data.add(mb);
			int row = data.size() - 1;
			fireTableRowsInserted(row, row);
			fireTableChanged(new javax.swing.event.TableModelEvent(this));
		}
	}

	private RicercaTableModel rtm = new RicercaTableModel();
	private JScrollPane jScrollPane = null;
	private JTable jTable = null;

	/**
	 * @param owner
	 */
	public RicercaBollettaJD(Frame owner) {
		super();
		setFrame(owner);
		initialize();
	}

	public RicercaBollettaJD() {
		super();
		setFrame(new Main());
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setResizable(false);
		this.setBounds(new Rectangle(0, 0, 450, 350));
		this.setModal(true);
		this.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
		this.setBackground(Color.white);
		processLoadTable();
		this.setContentPane(getJContentPane());
		this.showCentered();
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.setBackground(Color.white);
			jContentPane.add(getJPanel(), null);
			jContentPane.add(getJScrollPane(), null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes jScrollPane	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getJScrollPane() {
		if (jScrollPane == null) {
			try {
				jScrollPane = new JScrollPane();
				jScrollPane.setBounds(new Rectangle(0, 0, 445, 288));
				jScrollPane.setAutoscrolls(true);
				jScrollPane.setPreferredSize(new Dimension(445, 288));
				jScrollPane.setMaximumSize(new Dimension(445, 288));
				jScrollPane.setMinimumSize(new Dimension(445, 288));
				jScrollPane.setViewportView(getJTable());
			} catch (java.lang.Throwable e) {
				e.printStackTrace();
			}
		}
		return jScrollPane;
	}

	/**
	 * This method initializes jTable	
	 * 	
	 * @return javax.swing.JTable	
	 */
	private JTable getJTable() {
		if (jTable == null) {
			try {
				jTable = new JTable(rtm);
				jTable.setFont(new Font("Arial", Font.PLAIN, 13));
				jTable.setPreferredSize(new Dimension(443, 80));
				jTable.setSelectionBackground(new Color(255, 228, 255));
				jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
				jTable.setShowGrid(true);
				jTable.setBackground(new Color(255, 230, 255));
				jTable.setCellSelectionEnabled(true);
				jTable.addFocusListener(new java.awt.event.FocusAdapter() {
					public void focusLost(java.awt.event.FocusEvent e) {
						System.out.println("focusLost()"); // TODO Auto-generated Event stub focusLost()
					}

					public void focusGained(java.awt.event.FocusEvent e) {
						System.out.println("focusGained()"); // TODO Auto-generated Event stub focusGained()
					}
				});
				jTable.addMouseListener(new java.awt.event.MouseAdapter() {
					public void mouseExited(java.awt.event.MouseEvent e) {
						System.out.println("mouseExited()"); // TODO Auto-generated Event stub mouseExited()
					}

					public void mouseEntered(java.awt.event.MouseEvent e) {
						System.out.println("mouseEntered()"); // TODO Auto-generated Event stub mouseEntered()
					}

					public void mouseClicked(java.awt.event.MouseEvent e) {
						System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
					}
				});
			} catch (java.lang.Throwable e) {
				e.printStackTrace();
			}
		}
		return jTable;
	}

	public static void main(String[] args) {
		RicercaBollettaJD gjd = new RicercaBollettaJD(null);
		gjd.show();
	}

	/**
	 * This method initializes jPanel
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJPanel() {
		if (jPanel == null) {
			try {
				jPanel = new JPanel();
				jPanel.setLayout(null);
				jPanel.setBounds(new Rectangle(0, 288, 445, 30));
				jPanel.setBackground(new Color(255, 255, 227));
				jPanel.setPreferredSize(new Dimension(495, 30));
				jPanel.add(getAzioneJL(), null);
			} catch (java.lang.Throwable e) {
				e.printStackTrace();
			}
		}
		return jPanel;
	}

	private JLabel getAzioneJL() {
		if (azioneJL == null) {
			try {
				azioneJL = new JLabel();
				azioneJL.setFont(new Font("Copperplate Gothic Light",
						Font.PLAIN, 14));
				azioneJL.setBounds(new Rectangle(0, 0, 445, 30));
				azioneJL.setText("");
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return azioneJL;
	}

	private void buttonIndietro() {
		System.exit(1);
		// this.dispose();
		// frame.show();
		// return;
	}

	private void processLoadTable() {
		ModelBolletta mb = new ModelBolletta();
		try {
			Vector data = rs.getDatiEnt();
			for (int i = 0; i < data.size(); i++) {
				mb = (ModelBolletta) data.get(i);
				rtm.addRows(mb);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	/**
	 * @return the frame
	 */
	public Frame getFrame() {
		return frame;
	}

	/**
	 * @param frame the frame to set
	 */
	public void setFrame(Frame frame) {
		this.frame = frame;
	}
}
qualcuno di voi può aiutarmi??
grazie mille