import java.sql.*;
import javax.swing.*;
public class KochrezepteFrame extends javax.swing.JFrame
{
private RezepteModel rezepte;
private DatenbankConnector db;
public KochrezepteFrame()
{
initComponents();
try
{
this.db = new DatenbankConnector(); //HIER WIRD DIE VERBINDUNG ZUR DATENBANK HERGESTELLT
}
catch (
Exception e)
{
String message = "Es konnte keine Verbindung zur Datenbank hergestellt werden!";
JOptionPane.showMessageDialog(this,message,"FEHLER",JOptionPane.ERROR_MESSAGE);
System.out.println(e.toString());
}
rezepte= new RezepteModel(
db);
taRezepte.setModel(rezepte);
loadRezepte();
// HIER wird die funktion loadRezepte aufgerufen
}
private void initComponents()
{
jScrollPane1 = new javax.swing.JScrollPane();
taRezepte = new javax.swing.JTable();
jPanel1 = new javax.swing.JPanel();
jMenuBar2 = new javax.swing.JMenuBar();
jMenu2 = new javax.swing.JMenu();
miHinzufuegen = new javax.swing.JMenuItem();
miAendern = new javax.swing.JMenuItem();
miLoeschen = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
taRezepte.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new
String []
{
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane1.setViewportView(taRezepte);
getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);
getContentPane().add(jPanel1, java.awt.BorderLayout.SOUTH);
jMenu2.setText("Rezept");
miHinzufuegen.setText("Hinzuf\u00fcgen");
miHinzufuegen.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt) {
onHinzufuegen(evt);
}
});
jMenu2.add(miHinzufuegen);
miAendern.setText("Bearbeiten");
jMenu2.add(miAendern);
miLoeschen.setText("L\u00f6schen");
jMenu2.add(miLoeschen);
jMenuBar2.add(jMenu2);
setJMenuBar(jMenuBar2);
pack();
}
private void onHinzufuegen(java.awt.event.ActionEvent evt)
{
RezeptDialog dlg = new RezeptDialog(this,true, db);
dlg.setBounds(250, 50, 540, 780);
dlg.pack();
openDialog(dlg);
}
public void openDialog(RezeptDialog dlg)
{
dlg.setVisible(true);
dlg.pack();
if(dlg.eingabeOK())
{
loadRezepte();
}
else if(dlg.shouldReOpen())
openDialog(dlg);
}
public void loadRezepte()
{
try
{
rezepte.removeAllElements();
String sql = "SELECT * FROM rezept";
ResultSet result = db.onSelect(sql);
while(result.next()) //HIER wird beim zweiten aufruf der funktion next() die SQLException ausgelöst
{
rezepte.addRezept(new Rezept(result.getInt("RID"), db));
}
}
catch (
Exception e)
{
String message = "Es konnten nicht alle bzw. keine Rezepte geladen werden!!";
JOptionPane.showMessageDialog(this,message,"FEHLER",JOptionPane.ERROR_MESSAGE);
System.out.println("loadRezepteERROR - "+e.toString());
}
}
/**
* @param args the command line arguments
*/
public static void main(
String args[])
{
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new KochrezepteFrame().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar jMenuBar2;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JMenuItem miAendern;
private javax.swing.JMenuItem miHinzufuegen;
private javax.swing.JMenuItem miLoeschen;
private javax.swing.JTable taRezepte;
// End of variables declaration
}