Hilfe für Denkfehler im JTableModel

kokoriko

Mitglied
Hallo an Alle nochmal:
Ich habe meine TabelleModel implementiert ist alles richtig .... habe ich getestet
Code:
public class ResultSetTableModel extends AbstractTableModel{
      
      private ResultSet resultSet;
      private int rowCount;
      private int columnCount;    
      private ArrayList data=new ArrayList();
      public ResultSetTableModel(ResultSet resultSet) 
          throws Exception
      {
          setResultSet(resultSet);
      }
      public void setResultSet(ResultSet resultSet)
          throws Exception
     {
          this.resultSet=resultSet;            
         ResultSetMetaData metaData=resultSet.getMetaData();
         rowCount=0;
          columnCount=metaData.getColumnCount();
          while(resultSet.next()){
              Object[] row=new Object[columnCount];
              for(int j=0;j<columnCount;j++){
                  row[j]=resultSet.getObject(j+1);                
              }
              data.add(row);
              rowCount++;
          }
      }
      public int getColumnCount(){
          return columnCount;
      }        
      public int getRowCount(){
          return rowCount;
      }        
      public Object getValueAt(int rowIndex, int columnIndex){
          Object[] row=(Object[]) data.get(rowIndex);
          return row[columnIndex];
      }
      public String getColumnName(int columnIndex){
          try{
              ResultSetMetaData metaData=resultSet.getMetaData();
              return metaData.getColumnName(columnIndex+1);
          }catch(Exception e){
              e.printStackTrace();
              return "";
          }
      }        
  }

Hier  hier möchte ich die Daten in JTable in Jtabbedpane anzeigen lassen aber es klappt nicht was ist hier falsch

public class JdbcSwingTable extends JFrame {

	private static final long serialVersionUID = 1L;

	private JPanel jContentPane = null;

	private JPanel jPanel = null;

	private JTabbedPane jTabbedPane = null;

	private JTable jTable = null;
             
               ResultSetTableModel model=null;   'ist das hier richtig?		
	/**
	 * This is the default constructor
	 */
	public JdbcSwingTable() {
		super();
		initialize();
		
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
				
		this.setSize(700, 300);
		this.setContentPane(getJContentPane());
		this.setTitle("JFrame");
	}

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

	/**
	 * This method initializes jPanel	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getJPanel() {
		if (jPanel == null) {
			GridBagConstraints gridBagConstraints = new GridBagConstraints();
			gridBagConstraints.fill = GridBagConstraints.BOTH;
			gridBagConstraints.gridy = 0;
			gridBagConstraints.weightx = 1.0;
			gridBagConstraints.weighty = 1.0;
			gridBagConstraints.gridx = 0;
			jPanel = new JPanel();
			jPanel.setLayout(new GridBagLayout());
			jPanel.setBorder(BorderFactory.createTitledBorder(null, "INPUT", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Dialog", Font.PLAIN, 12), new Color(51, 51, 51)));
			jPanel.add(getJTabbedPane(), gridBagConstraints);
		}
		return jPanel;
	}

	/**
	 * This method initializes jTabbedPane	
	 * 	
	 * @return javax.swing.JTabbedPane	
	 */
	private JTabbedPane getJTabbedPane() {
		if (jTabbedPane == null) {
			jTabbedPane = new JTabbedPane();
			jTabbedPane.setBackground(new Color(51, 255, 204));
			jTabbedPane.addTab("Tabelle1", null, getJTable(), null);
		}
		return jTabbedPane;
	}

	/**
	 * This method initializes jTable	
	 * 	
	 * @return javax.swing.JTable	
	 */
wie soll ich hier das Model übergeben?	private JTable getJTable() {
		if (jTable == null) {
			jTable = new JTable(model);  ' ist das richtig?
		}
		return jTable;
	}
public void connect()
throws Exception
{
	
	String driverClass="sun.jdbc.odbc.JdbcOdbcDriver";     
    Class.forName(driverClass);   
    String dbPath = "H:/JC/DATENBANKFONDS.mdb";
   // String url="jdbc:odbc:mydatasource";   
    String url="jdbc:odbc: DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" + dbPath;
    String username="";
    String password="";
    Connection connection = DriverManager.getConnection(url,username,password);
    System.out.println("Connected to database");                
    String sql="select * from Stammdaten";
    Statement stmt=connection.createStatement();
    ResultSet rs=stmt.executeQuery(sql);
    ResultSetTableModel model=new ResultSetTableModel(rs);
    JTable jTable=new JTable(model);  '       ist das hier richtig?
		
}


}
 
Zurück