Liebe Java Gemeinde,
ich bin ein kompletter Newbie was Java Programmierung angeht. Ich möchte es aber unbedingt lernen und anwenden können.
Mein Problem liegt im folgenden Sachverhalt:
Ich möchte eine Access Datenbank erst einmal komp. Auslesen lassen und diese dann anzeigen lassen. Das habe ich auch geschafft.
Nun zu meinem großen Problem mit dem ich mich schon seit zwei Tagen beschäftige und zu keinem Ergebnis komme. Habe schon sehr viel im I-Net nachgelesen aber leider nichts gefunden (womit ich was anfangen kann) wie ich das Problem lösen kann.
Ich möchte nun das Ergebnis in einem Browser darstellen lassen.(Denke das funkt. über ein Applet.) Habe es auch so gemacht, aber leider zeigt er mir im Appletviewer und im Browser nichts an. Wenn ich das Programm in Eclipse ausführe wird mir die ausgelesene Access Datenbank angezeigt. Den Code führe ich weiter unten auf. Bin wirklich langsam am Verzweifeln. Ich muss dazu sagen das ich an einem Client Pc im Betrieb sitze und dies auch an dem bearbeite(Kann es sein das ich durch irgenwelche Sicherheitsmaßnahmen behindert werde?). Kleine Beispiel Applets funktionieren wenn ich die einbinde, bloss nicht meins.
Hier der Code
Meine Main
Der HTML-Code (wobei ich die Object Variante auch ausprobiert habe)
wenn ich die Haupt.class einbinde bleibt der Browser kompl. weiß, wenn ich die Hauptfenster.class aufrufe kommen folgende Exceptions:
java.lang.reflect.InvocationTargetException
at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.runOnEDT(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM.0)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkExit(Unknown Source)
at javax.swing.JFrame.setDefaultCloseOperation(Unknown Source)
at Hauptfenster.initComponents(Hauptfenster.java:64)
at Hauptfenster.<init>(Hauptfenster.java:15)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Ausnahme: java.lang.reflect.InvocationTargetException
Ich Danke euch schonmal im Vorraus für eure Mühe und Zeit.
Mfg
Boris
ich bin ein kompletter Newbie was Java Programmierung angeht. Ich möchte es aber unbedingt lernen und anwenden können.
Mein Problem liegt im folgenden Sachverhalt:
Ich möchte eine Access Datenbank erst einmal komp. Auslesen lassen und diese dann anzeigen lassen. Das habe ich auch geschafft.
Nun zu meinem großen Problem mit dem ich mich schon seit zwei Tagen beschäftige und zu keinem Ergebnis komme. Habe schon sehr viel im I-Net nachgelesen aber leider nichts gefunden (womit ich was anfangen kann) wie ich das Problem lösen kann.
Ich möchte nun das Ergebnis in einem Browser darstellen lassen.(Denke das funkt. über ein Applet.) Habe es auch so gemacht, aber leider zeigt er mir im Appletviewer und im Browser nichts an. Wenn ich das Programm in Eclipse ausführe wird mir die ausgelesene Access Datenbank angezeigt. Den Code führe ich weiter unten auf. Bin wirklich langsam am Verzweifeln. Ich muss dazu sagen das ich an einem Client Pc im Betrieb sitze und dies auch an dem bearbeite(Kann es sein das ich durch irgenwelche Sicherheitsmaßnahmen behindert werde?). Kleine Beispiel Applets funktionieren wenn ich die einbinde, bloss nicht meins.
Hier der Code
Meine Main
Java:
import java.applet.*;
import java.awt.*;
public class Haupt extends java.applet.Applet {
/**
* Hier steht die MAIN-Methode
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Hauptfenster().setVisible(true);
}
});
}
}
Java:
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.Vector;
import javax.swing.JTable;
public class Hauptfenster extends javax.swing.JFrame {
/** Konstruktor: Hauptfenster erzeugen */
public Hauptfenster() {
initComponents();
aktualisiereTabelle();
}
/** Tabelleninhalte holen und Tabelle erzeugen **/
private void aktualisiereTabelle() {
Vector columnNames = new Vector();
Vector data = new Vector();
try {
// Hier werden die SQL Abfragen definiert
String query = "SELECT * FROM Betrieb;";
// Hier wird die Datenbankverbindung hergestellt
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager
.getConnection(
"jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=Z:/db.mdb",
"", "");
System.out.println("Connection Successful ");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
// Hier werden die Spaltennamen ermittelt
for (int i = 1; i <= columns; i++) {
String colname = md.getColumnName(i);
columnNames.addElement(colname);
}
// Hier werden die Zeileninhalte ermittelt
while (rs.next()) {
Vector row = new Vector(columns);
for (int i = 1; i <= columns; i++) {
row.addElement(rs.getObject(i));
}
data.addElement(row);
}
rs.close();
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
// Hier werden die Tabellen erzeugt
JTable table = new JTable(data, columnNames);
scrollTabelle.setViewportView(table);
}
private void initComponents() {
scrollTabelle = new javax.swing.JScrollPane();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().add(scrollTabelle, java.awt.BorderLayout.CENTER);
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit()
.getScreenSize();
setBounds((screenSize.width - 800) / 2, (screenSize.height - 200) / 2,
800, 200);
}
// Hier stehen die globalen Variablendeklarationen
private javax.swing.JScrollPane scrollTabelle;
}
Der HTML-Code (wobei ich die Object Variante auch ausprobiert habe)
Java:
<html>
<head>
<title>Test</title>
</head>
<body>
<APPLET CODE="Hauptfenster" HEIGHT=300 WIDTH=500>
Start des Java-Applets gescheitert! Browser-Einstellungen kontrollieren
(Start von Java-Programmen erlaubt?) oder einen Java-fähigen Browser
besorgen!
</APPLET>
</body>
</html>
wenn ich die Haupt.class einbinde bleibt der Browser kompl. weiß, wenn ich die Hauptfenster.class aufrufe kommen folgende Exceptions:
java.lang.reflect.InvocationTargetException
at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.runOnEDT(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM.0)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkExit(Unknown Source)
at javax.swing.JFrame.setDefaultCloseOperation(Unknown Source)
at Hauptfenster.initComponents(Hauptfenster.java:64)
at Hauptfenster.<init>(Hauptfenster.java:15)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Ausnahme: java.lang.reflect.InvocationTargetException
Ich Danke euch schonmal im Vorraus für eure Mühe und Zeit.
Mfg
Boris