scoperto il mestero.
dovevo chiamare direttamente il metodo leggi che già mi ritorna i risultati voluti.

a questo punto però vorrei separare i risultati e ho modificato la classe così:
codice:
public class Leggi {

    private String i = null;
    private String e = null;
    private String u = null;
    private String c = null;
    private String d = null;
    private String line = null;
    private String nomecolonne = null;

    public void leggi() {

        int numcolonne = 0;
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        ResultSetMetaData rsmd = null;
        try {
            conn = Connessione.getConnection();
            stmt = conn.createStatement();
            rs = stmt.executeQuery("select * from movimenti");
            rsmd = rs.getMetaData();
            numcolonne = rsmd.getColumnCount();
            for (int j = 1; j <= numcolonne; j++) {
                nomecolonne += rsmd.getColumnLabel(j) + ": ";
            }

            while (rs.next()) {
                i = rs.getString(1);
                e = rs.getString(2);
                u = rs.getString(3);
                c = rs.getString(4);
                d = rs.getString(5);
                line += i + ": " + e + ", " + u + ", " + c + ", " + d + "\n";
            }
        } catch (SQLException x) {
            JOptionPane.showMessageDialog(null, x.getMessage());
        } finally {
            try {
                rs.close();
                stmt.close();
            } catch (Exception ex) {
                JOptionPane.showMessageDialog(null, ex.getMessage());
            }
//            return nomecolonne + "\n" + line;
        }
    }

    public String getLine() {
        return line;
    }

    public String getColonne() {
        return nomecolonne;
    }
}
se richiamo getLine ad esempio mi esce cmq null null.
è come se nn vedesse le modifiche a line.
perchè??