# Login



## Alfons (28. Feb 2004)

Also ich suche Login-Scripte für für Java.Zugriff auf eine MySQL-Datenbank von einem Applet aus.


----------



## Guest (1. Mrz 2004)

Irgendein Java Login-Script, dass ich umschreiben kann oder an dem ich mich orientern kann.


----------



## Mizus (10. Mrz 2004)

```
package de.Login;

import de.Data.Data;
import de.Data.Listmanager;

import javax.swing.*;
import javax.swing.border.EtchedBorder;

import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import java.sql.*;

/**
 * Created by IntelliJ IDEA.
 * User: swekwert
 * Date: Feb 19, 2004
 * Time: 7:06:55 AM
 * To change this template use Options | File Templates.
 */

public class FirstFrame extends JFrame{

    public FirstFrame(){
        if(isPassGesetzt()){
            iniConect();
        }else{
            jBint();
        }
    }

    public static void main(String[] args){
        FirstFrame a = new FirstFrame();
    }

    private void jBint(){
        this.setTitle("Anmeldung");
        this.setResizable(false);
        btnAtionEvents();
        Dimension myDm = getToolkit().getScreenSize();
        this.setLocation(myDm.width/3, myDm.height/3);

        this.setSize(275, 140);
        this.getContentPane().add(myMainPnl);

        myCenterPnl.setLayout(grid);
        myCenterPnl.add(myUserLbl);
        myCenterPnl.add(myUserTextfld);
        myCenterPnl.add(myPassLbl);
        myCenterPnl.add(myPassTextfld);

        myBtnPnl.setBorder(new EtchedBorder());
        myBtnPnl.setLayout(new BorderLayout());
        myBtnPnl.add(new JPanel(), BorderLayout.CENTER);
        myBtnPnl.add(myBtnINPnl, BorderLayout.EAST);

        myBtnINPnl.add(myOkBtn);
        myBtnINPnl.add(myCancelBtn);

        myOkBtn.setToolTipText("Werden ihre Eingaben auf ihre Richtigkeit geprüft");
        myCancelBtn.setToolTipText("Zum verlassen des Programms");
        myPassTextfld.setToolTipText("Bitte Passwort eintragen");
        myUserTextfld.setToolTipText("Bitte Benutzernamen eintragen");

        myMainPnl.setBorder(new EtchedBorder());
        myMainPnl.setLayout(new BorderLayout());
        myMainPnl.add(myCenterPnl, BorderLayout.CENTER);
        myMainPnl.add(myBtnPnl, BorderLayout.SOUTH);
        myMainPnl.add(new JPanel(), BorderLayout.WEST);
        myMainPnl.add(new JPanel(), BorderLayout.EAST);
        myMainPnl.add(new JPanel(), BorderLayout.NORTH);
        this.setVisible(true);
    }

    private void btnAtionEvents(){
        myCancelBtn.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                System.exit(0);
            }
        });

        myOkBtn.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                conectDataBase(e);
                }
            });
    }

    void conectDataBase(ActionEvent e){
        try {
            String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
            Class.forName(driver);
            myData.setMyUsername(myUserTextfld.getText());
            myData.setMyPass(String.valueOf(myPassTextfld.getPassword()));
            myConcetOb = DriverManager.getConnection("jdbc:odbc:DatenBankName", myData.getMyUsername(), myData.getMyPass());
            Auslesen myAuslesen = Auslesen.getInstance(myConcetOb, Auslesen.FIRST);
            myAuslesen.setVisible(true);
            this.setVisible(false);
        } catch (SQLException e1) {
            JOptionPane.showMessageDialog(this, "Es konnte keine Verbindung hergestellt\n" +
                        "werden bitte über Prüfen Sie ihre Eingaben","Fehler", JOptionPane.ERROR_MESSAGE);
            e1.printStackTrace();  //To change body of catch statement use Options | File Templates.
            return;
        } catch (Exception as){
            System.out.println("Kein treiber gefunden");
            as.printStackTrace();
            return;
        }
    }

    private void iniConect(){
         try {
            Data tData = (Data)Listmanager.getInstance().getMyPassList().firstElement();
            String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
            Class.forName(driver);
            myConcetOb = DriverManager.getConnection("jdbc:odbc:EVA1", tData.getMyUsername(), tData.getMyPass());
            Auslesen myAuslesen = Auslesen.getInstance(myConcetOb, Auslesen.SAVEING);
            myAuslesen.setVisible(true);
        } catch (SQLException e1) {
            JOptionPane.showMessageDialog(this, "Es konnte keine Verbindung hergestellt\n" +
                        "werden bitte über Prüfen Sie ihre Eingaben","Fehler", JOptionPane.ERROR_MESSAGE);
            e1.printStackTrace();  //To change body of catch statement use Options | File Templates.
            return;
        } catch (Exception as){
            System.out.println("Kein treiber gefunden");
            as.printStackTrace();
            return;
        }
    }

    private boolean isPassGesetzt(){
        Listmanager.getInstance().load(Listmanager.PASS);
        boolean tmp = false;
        if(Listmanager.getInstance().getMyPassList().size() == 1){
            tmp = true;
        }
        return tmp;
    }

    //////////////////////////////////////////////////////
    // Attribute
    /////////////////////////////////////////////////////

    private JPanel myMainPnl = new JPanel();
    private JPanel myCenterPnl = new JPanel();
    private JPanel myBtnPnl = new JPanel();
    private JPanel myBtnINPnl = new JPanel();


    private JLabel myUserLbl = new JLabel("Username: ");
    private JLabel myPassLbl = new JLabel("Passwort: ");

    private JTextField myUserTextfld = new JTextField();
    private JPasswordField myPassTextfld = new JPasswordField();

    private JButton myOkBtn = new JButton("Bestätigen");
    private JButton myCancelBtn = new JButton("Abbrechen");


    private GridLayout grid = new GridLayout(2,2);

    private Data myData = Data.getInstance();
    private Connection myConcetOb;

}
```


----------



## Mizus (10. Mrz 2004)

Ein paar Sachen musst Raus nehmen du einige Klassen nicht hast... Sollte aber funktionieren wenn die Klassen raussteichts die er nicht kennt.

Wenn dein Programm mit dem JSmooth 0.9.6 in eine exe umwandeln willst wird das net funktionieren dann muss die Methoden:


```
public void iniConect(){}
   
public boolean isPassGesetzt(){ }
```

raus..
Ausserdem muss die main und der konstrucktor  so aussehen


```
public FirstFrame(){
        jBint();
    }

    
public static void main(String[] args){
    FirstFrame a = new FirstFrame();
     a.setVisible(true);
    }
```


----------



## Guest (18. Mrz 2004)

Funktioniert das auch mit JDBC-Treiber?


```
mysql-connector-java-3.0.9-stable
```


----------



## Guest (15. Apr 2004)

Kann ich nicht genau sagen...
musste mal ausprobieren


----------



## Mizus (15. Apr 2004)

Anonymous hat gesagt.:
			
		

> Funktioniert das auch mit JDBC-Treiber?
> 
> 
> ```
> ...



Ich wüsste jetzt erlich gesagt nicht wo ich das zum Einsatz bringen sollte?? ???:L


----------

