/*
* RegistrierungDlg.java
*
* Created on 15. Januar 2008, 15:20
*/
package gui;
import data.User;
import db.Datenbank;
import java.net.InetAddress;
import java.util.concurrent.ExecutionException;
import javax.swing.JOptionPane;
import javax.swing.SwingWorker;
/**
*
* @author Kevin
*/
public class RegistrierungDlg extends javax.swing.JDialog
{
private boolean isOk = false;
private User user = null;
public boolean isOk()
{
return isOk;
}
public User getUser()
{
return user;
}
/** Creates new form RegistrierungDlg */
public RegistrierungDlg(javax.swing.JDialog parent, boolean modal)
{
super(parent, modal);
initComponents();
this.getRootPane().setDefaultButton(this.btRegistrieren);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents()
{
java.awt.GridBagConstraints gridBagConstraints;
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
tfNickname = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
tfNachname = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
cbKlasse = new javax.swing.JComboBox();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
tfVorname = new javax.swing.JTextField();
pfPasswort = new javax.swing.JPasswordField();
pfPasswort2 = new javax.swing.JPasswordField();
jPanel2 = new javax.swing.JPanel();
jPanel3 = new javax.swing.JPanel();
btRegistrieren = new javax.swing.JButton();
btAbbrechen = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Registrierung");
setResizable(false);
jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(10, 10, 10, 10));
jPanel1.setLayout(new java.awt.GridBagLayout());
jLabel1.setText("Nickname:");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(0, 0, 0, 10);
jPanel1.add(jLabel1, gridBagConstraints);
tfNickname.setColumns(20);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
jPanel1.add(tfNickname, gridBagConstraints);
jLabel2.setText("Nachname: ");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 10);
jPanel1.add(jLabel2, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 1;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 0);
jPanel1.add(tfNachname, gridBagConstraints);
jLabel3.setText("Klasse: ");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 3;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 10);
jPanel1.add(jLabel3, gridBagConstraints);
cbKlasse.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "ADH03", "ADH04", "ADH05", "ADH06", "BDH03", "BDH04", "BDH05", "BDH06", "CDH03", "CDH04", "CDH05", "CDH06" }));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 3;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 0);
jPanel1.add(cbKlasse, gridBagConstraints);
jLabel4.setText("Passwort: ");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 4;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 10);
jPanel1.add(jLabel4, gridBagConstraints);
jLabel5.setText("Passwort wiederholen: ");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 5;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 10);
jPanel1.add(jLabel5, gridBagConstraints);
jLabel6.setText("Vorname: ");
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 10);
jPanel1.add(jLabel6, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 0);
jPanel1.add(tfVorname, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 4;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 0);
jPanel1.add(pfPasswort, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 5;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 0);
jPanel1.add(pfPasswort2, gridBagConstraints);
getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
jPanel3.setLayout(new java.awt.GridLayout(1, 0, 5, 0));
btRegistrieren.setText("Registrieren");
btRegistrieren.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
onRegistrieren(evt);
}
});
jPanel3.add(btRegistrieren);
btAbbrechen.setText("Abbrechen");
btAbbrechen.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent evt)
{
onAbbrechen(evt);
}
});
jPanel3.add(btAbbrechen);
jPanel2.add(jPanel3);
getContentPane().add(jPanel2, java.awt.BorderLayout.SOUTH);
pack();
}// </editor-fold>//GEN-END:initComponents
private void onAbbrechen(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_onAbbrechen
dispose();
}//GEN-LAST:event_onAbbrechen
private class AddUserWorker extends SwingWorker
{
private final User user;
public AddUserWorker(User user)
{
this.user = user;
}
protected Object doInBackground()
throws Exception
{
Datenbank.getInstance().addUser(user);
return null;
}
protected void done()
{
try
{
get();
}
catch (InterruptedException ex)
{
}
catch (ExecutionException ex)
{
JOptionPane.showMessageDialog(null, ex.getCause().getMessage(),
"Fehler", JOptionPane.ERROR_MESSAGE);
}
}
}
private void onRegistrieren(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_onRegistrieren
if (new String(pfPasswort.getPassword()).equals(new String(pfPasswort2.getPassword())))
{
try
{
InetAddress inetAddress = InetAddress.getLocalHost();
String ip = inetAddress.getHostAddress().toString();
user = new User(tfNickname.getText(), tfNachname.getText(),
tfVorname.getText(), cbKlasse.getSelectedItem().toString(),
new String(pfPasswort.getPassword()), 0, 0, 0, 0, 0,
0, 0, true, ip);
isOk = true;
(new AddUserWorker(user)).execute();
dispose();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
else
{
JOptionPane.showMessageDialog(this, "Passwörter stimmen nicht überein!",
"Fehler", JOptionPane.ERROR_MESSAGE);
}
}//GEN-LAST:event_onRegistrieren
/**
* @param args the command line arguments
*/
public static void main(String args[])
{
java.awt.EventQueue.invokeLater(new Runnable()
{
public void run()
{
RegistrierungDlg dialog = new RegistrierungDlg(new javax.swing.JDialog(), true);
dialog.addWindowListener(new java.awt.event.WindowAdapter()
{
public void windowClosing(java.awt.event.WindowEvent e)
{
System.exit(0);
}
});
dialog.setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton btAbbrechen;
private javax.swing.JButton btRegistrieren;
private javax.swing.JComboBox cbKlasse;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPasswordField pfPasswort;
private javax.swing.JPasswordField pfPasswort2;
private javax.swing.JTextField tfNachname;
private javax.swing.JTextField tfNickname;
private javax.swing.JTextField tfVorname;
// End of variables declaration//GEN-END:variables
}