K
Kris
Gast
Hallo
ich wollte fragen ob dieses Prinzip einem Model-View-Controller entspricht.
Model:
Control:
View:
Falls dies nicht dem Model entspricht, wäre es nett, wenn man erläutern könnte wie es ausehn müßte.
Danke im voraus.
ich wollte fragen ob dieses Prinzip einem Model-View-Controller entspricht.
Model:
Code:
import java.sql.*;
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
public class DBDaten {
Connection con;
ResultSet rs;
public DBDaten() throws Exception{
con = verbinden();
}
public DBDaten(String abfrage) throws Exception{
con = verbinden();
abfrage(abfrage);
}
public Connection verbinden() throws SQLException{
MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setServerName("localhost");
dataSource.setPort(3306);
dataSource.setDatabaseName("java");
dataSource.setUser("root");
dataSource.setPassword("router");
return dataSource.getConnection();
}
}
Control:
Code:
import java.util.*;
import javax.swing.table.*;
public class Haupt {
public static void tabelleFüllen(DefaultTableModel dtm, String sql) throws Exception{
Vector<String> col = new Vector<String>();
Vector<Vector<Object>> row = new Vector<Vector<Object>>();
DBDaten dat = new DBDaten();
dat.abfrage(sql);
for(int i=0;i<dat.rs.getMetaData().getColumnCount();i++){
col.add(dat.rs.getMetaData().getColumnName(i+1));
}
while(dat.rs.next()){
Vector<Object> zelle = new Vector<Object>();
for(int i=0;i<dat.rs.getMetaData().getColumnCount();i++){
zelle.addElement(dat.rs.getString(i+1));
}
row.add(zelle);
}
dtm.setDataVector(row, col);
dtm.fireTableDataChanged();
}
public static void main(String[] args) throws Exception{
String abfrage ="Select * From tblPerson";
Grafik fen = new Grafik();
tabelleFüllen(fen.dtm,abfrage);
}
}
View:
Code:
import javax.swing.*;
import javax.swing.table.*;
public class Grafik {
JFrame jf;
JTable tab;
DefaultTableModel dtm = new DefaultTableModel();
public Grafik(){
jf = new JFrame("Test");
tab = new JTable(dtm);
JScrollPane jsp = new JScrollPane(tab);
jf.add(jsp);
jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
jf.setSize(200,300);
jf.setVisible(true);
}
}
Falls dies nicht dem Model entspricht, wäre es nett, wenn man erläutern könnte wie es ausehn müßte.
Danke im voraus.