Hallo an Alle nochmal:
Ich habe meine TabelleModel implementiert ist alles richtig .... habe ich getestet
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?
}
}