Hallo zusammen,
habe folgendes Problem:
habe in Java eine Klasse geschrieben, die Datensätze aus einer Datenbak ausliest
in der nächsten Klasse habe ich ein JTable eingestzt in die die Datensätze angezeigt werden soll. Allerdings hab ich überhaupt kein Plan wie ich nun die Daten von der Klasse "Database" in die GUI Klasse bekomme.
kann mir jemand helfen?
Auszug aus der Klasse GUI
habe folgendes Problem:
habe in Java eine Klasse geschrieben, die Datensätze aus einer Datenbak ausliest
in der nächsten Klasse habe ich ein JTable eingestzt in die die Datensätze angezeigt werden soll. Allerdings hab ich überhaupt kein Plan wie ich nun die Daten von der Klasse "Database" in die GUI Klasse bekomme.
kann mir jemand helfen?
Java:
import java.awt.EventQueue;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
public class Database
{
String driver = "org.postgresql.Driver";
// --------------------------------------------------------------------------
String host = "localhost"; // !!! anpassen !!!
String port = "5432"; // !!! anpassen !!!
String database = "Adressen"; // !!! anpassen !!!
String user = "user"; // !!! anpassen !!!
String password = "password"; // !!! anpassen !!!
// --------------------------------------------------------------------------
Connection connection = null;
public Database ()
{
loadJdbcDriver ();
openConnection ();
showTimezones ();
closeConnection ();
}
//close the connection
private void closeConnection ()
{
try
{
connection.close ();
}
catch (SQLException e)
{
e.printStackTrace ();
System.exit (1);
}
System.out.println ("\nconnection closed");
}
//@return Url-string for postgreSQL-database connection
private String getUrl ()
{
// PostgreSQL takes one of the following url-forms:
// ================================================
// jdbc:postgresql:database
// jdbc:postgresql://host/database
// jdbc:postgresql://host:port/database
return ("jdbc:postgresql:" + (host != null ? ("//" + host) + (port != null ? ":" + port : "") + "/" : "") + database);
}
//loading the JDBC driver
private void loadJdbcDriver ()
{
try
{
Class.forName (driver);
}
catch (ClassNotFoundException e)
{
e.printStackTrace ();
System.exit (1);
}
System.out.println ("driver loaded");
}
//opening the connection
private void openConnection ()
{
try
{
connection = DriverManager.getConnection (getUrl (), user, password);
}
catch (SQLException e)
{
e.printStackTrace ();
System.exit (1);
}
System.out.println ("connection opened");
}
private void showTimezones ()
{
try
{
Statement statement = connection.createStatement ();
ResultSet resultSet = statement.executeQuery ("select nachname, vorname, Geburtstag, Mobiltelefon, EmailAdresse from person order by nachname");
ResultSetMetaData resultSetMetaData = resultSet.getMetaData ();
System.out.println ("\n\nshow data from table: 'KontaktePrivat'\n");
String format = "%-20s %-30s %-10s %-25s %s\n";
//Das "-" bedetutet Linksbündig
System.out.printf (format + "\n",
resultSetMetaData.getColumnLabel (1),
resultSetMetaData.getColumnLabel (2),
resultSetMetaData.getColumnLabel (3),
resultSetMetaData.getColumnLabel (4),
resultSetMetaData.getColumnLabel (5));
while (resultSet.next ())
{
System.out.printf (format,
resultSet.getString (1),
resultSet.getString (2),
resultSet.getString (3),
resultSet.getString (4),
resultSet.getString (5));
}
resultSet.close ();
statement.close ();
}
catch (SQLException e)
{
e.printStackTrace ();
System.exit (1);
}
}
}
Auszug aus der Klasse GUI
Java:
String[][] rowData = {
{ "Japan", "245" }, { "USA", "240" }, { "Italien", "220" },
{ "Spanien", "217" }, {"Türkei", "215"} ,{ "England", "214" },
{ "Frankreich", "190" }, {"Griechenland", "185" },
{ "Deutschland", "180" }, {"Portugal", "170" }
};
String[] columnNames = {
"Land", "Durchschnittliche Sehdauer pro Tag in Minuten"
};
JTable table = new JTable(rowData, columnNames);
table.addMouseListener(ListenerMouse);
JScrollPane pane = new JScrollPane(table);
pane.setBounds(620, 160, 600, 420);
p2.add(pane);
Zuletzt bearbeitet: