Login Passwort-Vergleich

Fitzi21

Aktives Mitglied
Hallo,

hat ja doch lang gedauert (oder eben auch nicht) bis ich mich wieder melde.

Ich habe mich an einem kleinen Login Bereich versucht. Nun bin ich eigentlich der Meinung, dass es klappen müsste, aber nunja, es klappt nicht.


Wo liegt der Fehler ? Ich bekomme immer die Meldung "Falsches Passwort". Sprich, in dem if-Befehl von Zeile 109 komme ich immer nur in den else. Obwohl bei richtigem Passwort ja eigentlich mAnwort true sein müsste.


Java:
package paketGUI;

import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.Rectangle;
import java.awt.Font;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import java.awt.event.KeyEvent;
import javax.swing.JButton;
import paketClasses.DBZugriff;
import paketClasses.Login;
import java.sql.*;
import javax.swing.ImageIcon;

public class LoginFenster extends JFrame {

	private static final long serialVersionUID = 1L;
	private JPanel jContentPane = null;
	private JLabel lbLogin = null;
	private JLabel lbBenutzer = null;
	private JLabel lbPasswort = null;
	private JTextField tfBenutzer = null;
	private JPasswordField pfPasswort = null;
	private JButton btAnmelden = null;
	private Login objLogin;
	ResultSet objErgebnis = null;
	private JLabel lbBackground = null;

	public LoginFenster() {
		super();
		initialize();
	}

	private void initialize() {
		this.setSize(389, 340);
		this.setContentPane(getJContentPane());
		this.setTitle("SimpleMusicManagemant - Das Verwaltungsprogramm für Musikvereine");
		this.setLocationRelativeTo(null);
	}

	private JPanel getJContentPane() {
		if (jContentPane == null) {
			lbBackground = new JLabel();
			lbBackground.setBounds(new Rectangle(1, 0, 382, 316));
			lbBackground.setIcon(new ImageIcon(getClass().getResource("/paketBilder/musikveraltung.gif")));
			lbBackground.setText("");
			lbPasswort = new JLabel();
			lbPasswort.setBounds(new Rectangle(190, 90, 70, 20));
			lbPasswort.setFont(new Font("Dialog", Font.BOLD, 14));
			lbPasswort.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
			lbPasswort.setText("Passwort:");
			lbBenutzer = new JLabel();
			lbBenutzer.setBounds(new Rectangle(30, 90, 70, 20));
			lbBenutzer.setFont(new Font("Dialog", Font.BOLD, 14));
			lbBenutzer.setText("Benutzer:");
			lbLogin = new JLabel();
			lbLogin.setBounds(new Rectangle(30, 40, 60, 24));
			lbLogin.setFont(new Font("Dialog", Font.BOLD, 20));
			lbLogin.setText("Login");
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(lbLogin, null);
			jContentPane.add(lbBenutzer, null);
			jContentPane.add(lbPasswort, null);
			jContentPane.add(getTfBenutzer(), null);
			jContentPane.add(getPfPasswort(), null);
			jContentPane.add(getBtAnmelden(), null);
			jContentPane.add(lbBackground, null);
		}
		return jContentPane;
	}

	private JTextField getTfBenutzer() {
		if (tfBenutzer == null) {
			tfBenutzer = new JTextField();
			tfBenutzer.setBounds(new Rectangle(30, 116, 120, 20));
		}
		return tfBenutzer;
	}

	private JPasswordField getPfPasswort() {
		if (pfPasswort == null) {
			pfPasswort = new JPasswordField();
			pfPasswort.setBounds(new Rectangle(190, 116, 120, 20));
		}
		return pfPasswort;
	}

	private JButton getBtAnmelden() {
		if (btAnmelden == null) {
			btAnmelden = new JButton();
			btAnmelden.setBounds(new Rectangle(30, 166, 120, 34));
			btAnmelden.setText("Anmelden");
			btAnmelden.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
					
					String mBenutzerEingabe = tfBenutzer.getText();
					String mPasswortEingabe = String.valueOf(pfPasswort.getPassword());
					objLogin = new Login();
					
					loginDatenLesen(mBenutzerEingabe);
					zuweisen();
					boolean mAnmeldenOK	= checkPassword(mPasswortEingabe);
					
					if (mAnmeldenOK)
					{
						Hauptfenster mainFenster = new Hauptfenster();
						mainFenster.setVisible(true);
						LoginFenster.this.dispose();
					}
					else
					{
						JOptionPane.showMessageDialog(null, "Falsches Passwort !");
						pfPasswort.setText("");
						pfPasswort.requestFocus();
					}

					
				}
			});
		}
		return btAnmelden;
	}

private void loginDatenLesen(String mBenutzerEingabe)
{
	try
	{
		String mSQL;
		DBZugriff objZugriff = new DBZugriff();
		mSQL = "SELECT Benutzername, Passwort FROM Login WHERE Benutzername = '"+mBenutzerEingabe+"'";
		objZugriff.oeffnen();
		objErgebnis = objZugriff.lesen(mSQL);
	}
	catch (Exception e)
	{
		System.out.println("Suche fehlgeschlagen !");
		JOptionPane.showMessageDialog(null, "Falscher Benutzername");
	}
}
	
public void zuweisen()
{
	try
	{
		objErgebnis.next();
		objLogin.setBenutzername(objErgebnis.getString("Benutzername"));
		objLogin.setPasswort(objErgebnis.getString("Passwort"));		
	}
	catch (Exception e)
	{
		System.out.println("Zuweisung Ergebnisobjekt fehlgeschlagen");
		JOptionPane.showMessageDialog(null, "Falscher Benutzername !");
	}
}

public boolean checkPassword(String mPasswortEingabe)
{
	boolean mAnmelden;
	if(mPasswortEingabe == objLogin.getPasswort())
	{
		mAnmelden = true;
	}
	else 
	{
		mAnmelden = false;
	}
	return mAnmelden;
}
		
}

Java:
package paketClasses;

public class Login 
{
	private String benutzername;
	private String passwort;
	
	public String getBenutzername()
	{
		return benutzername;
	}
	public void setBenutzername(String benutzername)
	{
		this.benutzername = benutzername;
	}
	
	public String getPasswort()
	{
		return passwort;
	}
	public void setPasswort(String passwort)
	{
		this.passwort = passwort;
	}	
	
}

Viele Grüße
Fitzi
 
Zuletzt bearbeitet von einem Moderator:

Fitzi21

Aktives Mitglied
ok, danke euch beiden.
Ich werde nacher mal nen PC wechsel machen und schauen ob es dann klappt.

Aber wie komme ich drauf das mit == zu machen. Ich dachte das geht auch für Strings. Demnach nicht. Für was brauch ich das dann ?
 

Fitzi21

Aktives Mitglied
OK,

das war der Fehler. Klappt jetzt so wie ich das wollte. Vielen dank euch dreien.

Schönen Abend und viele Grüße

Fitzi
 

Fitzi21

Aktives Mitglied
Hallo,

ich muss das Thema doch nochmal auf machen.
Ich habe da noch etwas weiter herum gespielt.



Jenachdem wo ich den Haken setze, kommt dann die entsprechende Datei im unteren Textfeld.
Im oberen Textfeld muss der Benutzer den Pfad angeben, wo die Datenbank ist. Da eine Datenbank mit Passwort gesichert ist, muss man unten auch noch das Passwort der Datenbank eingeben.

Indem ich mit einem Übergabeparameter gearbeitet habe (Pfad + Passwort übergeben) hat das geklappt.

Nun aber zum eigentlichen Problem. Zuerst habe ich das mit Variablen gemacht. Dann habe ich aber dass Problem, wenn ich meine Methode öffnen Aufrufe, aus anderen Klassen heraus, die Variable ja nicht den entsprechenden Wert hat.
Deswegen hab ich das mal mit Objekten versucht, bekomme es aber nicht gebacken.

Java:
package paketGUI;

import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.Rectangle;
import java.awt.Font;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import java.awt.event.KeyEvent;
import javax.swing.JButton;
import paketClasses.DBZugriff;
import paketClasses.Login;
import java.sql.*;
import javax.swing.ImageIcon;
import java.awt.Color;
import javax.swing.JCheckBox;

public class LoginFenster extends JFrame {

	private static final long serialVersionUID = 1L;
	private JPanel jContentPane = null;
	private JLabel lbLogin = null;
	private JLabel lbBenutzer = null;
	private JLabel lbPasswort = null;
	private JTextField tfBenutzer = null;
	private JPasswordField pfPasswort = null;
	private JButton btAnmelden = null;
	Login objLogin = new Login();
	ResultSet objErgebnis = null;
	
	private JLabel lbBackground = null;
	private JLabel lbDatenbankPfad = null;
	private JTextField tfDatenbankPfad = null;
	private JLabel lbDatenbankpfadInfo = null;
	private JTextField tfDatenbankDatei = null;
	private JCheckBox cbDatenbankVerschlüsselt = null;
	private JCheckBox cbDatenbankNichtVerschlüsselt = null;
	private JPasswordField pfPasswortDB = null;
	private JLabel lbInfoVerschlüsselteDB = null;
	private JLabel lbInfoNichtVerschlüsselteDB = null;
	/**
	 * This is the default constructor
	 */
	public LoginFenster() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(389, 340);
		this.setContentPane(getJContentPane());
		this.setTitle("SimpleMusicManagemant - Das Verwaltungsprogramm für Musikvereine");
		this.setLocationRelativeTo(null);
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			lbInfoNichtVerschlüsselteDB = new JLabel();
			lbInfoNichtVerschlüsselteDB.setBounds(new Rectangle(309, 222, 18, 19));
			lbInfoNichtVerschlüsselteDB.setIcon(new ImageIcon(getClass().getResource("/paketBilder/info_icon.png")));
			lbInfoNichtVerschlüsselteDB.setToolTipText("<html>Die Daten, die sich nicht <br>in der durch Passwort geschützten Datenbank befinden, <br>sind für jeden zugänglich.");
			lbInfoNichtVerschlüsselteDB.setText("");
			lbInfoVerschlüsselteDB = new JLabel();
			lbInfoVerschlüsselteDB.setBounds(new Rectangle(309, 202, 17, 19));
			lbInfoVerschlüsselteDB.setIcon(new ImageIcon(getClass().getResource("/paketBilder/info_icon.png")));
			lbInfoVerschlüsselteDB.setToolTipText("<html>Wenn Sie die verschlüsselte Datenbank benutzen wollen, <br>geben Sie bitte das mitgelieferte Passwort <br>für die Datenbank ein. <br><br>Der Vorteil der mit Passwort gesicherten Datenbank ist, <br>dass unbefugte Benutzer keinen Zugriff <br>auf ihre Daten haben.");
			lbInfoVerschlüsselteDB.setText("");
			lbDatenbankpfadInfo = new JLabel();
			lbDatenbankpfadInfo.setBounds(new Rectangle(131, 135, 16, 17));
			lbDatenbankpfadInfo.setIcon(new ImageIcon(getClass().getResource("/paketBilder/info_icon.png")));
			lbDatenbankpfadInfo.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
			lbDatenbankpfadInfo.setToolTipText("<html>Geben Sie bitte an, an welchem Ort sich ihre Datenbank befindet. <br>Beachten Sie bitte dabei das untenstehende Beispiel.</html>");
			lbDatenbankpfadInfo.setText("");
			lbDatenbankPfad = new JLabel();
			lbDatenbankPfad.setBounds(new Rectangle(32, 135, 98, 16));
			lbDatenbankPfad.setText("Datenbankpfad:");
			lbBackground = new JLabel();
			lbBackground.setBounds(new Rectangle(0, 0, 382, 316));
			lbBackground.setIcon(new ImageIcon(getClass().getResource("/paketBilder/musikveraltung.gif")));
			lbBackground.setText("");
			lbPasswort = new JLabel();
			lbPasswort.setBounds(new Rectangle(215, 65, 70, 20));
			lbPasswort.setFont(new Font("Dialog", Font.BOLD, 14));
			lbPasswort.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
			lbPasswort.setText("Passwort:");
			lbBenutzer = new JLabel();
			lbBenutzer.setBounds(new Rectangle(30, 65, 70, 20));
			lbBenutzer.setFont(new Font("Dialog", Font.BOLD, 14));
			lbBenutzer.setText("Benutzer:");
			lbLogin = new JLabel();
			lbLogin.setBounds(new Rectangle(30, 25, 60, 24));
			lbLogin.setFont(new Font("Dialog", Font.BOLD, 20));
			lbLogin.setText("Login");
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.setToolTipText("");
			jContentPane.setForeground(new Color(204, 204, 204));
			jContentPane.add(lbLogin, null);
			jContentPane.add(lbBenutzer, null);
			jContentPane.add(lbPasswort, null);
			jContentPane.add(getTfBenutzer(), null);
			jContentPane.add(getPfPasswort(), null);
			jContentPane.add(getBtAnmelden(), null);
			//jContentPane.add(lbBackground, null);
			jContentPane.add(lbDatenbankPfad, null);
			jContentPane.add(getTfDatenbankPfad(), null);
			jContentPane.add(lbDatenbankpfadInfo, null);
			jContentPane.add(getTfDatenbankDatei(), null);
			jContentPane.add(getCbDatenbankVerschlüsselt(), null);
			jContentPane.add(getCbDatenbankNichtVerschlüsselt(), null);
			jContentPane.add(getPfPasswortDB(), null);
			jContentPane.add(lbInfoVerschlüsselteDB, null);
			jContentPane.add(lbInfoNichtVerschlüsselteDB, null);
		}
		return jContentPane;
	}

	private JTextField getTfBenutzer() {
		if (tfBenutzer == null) {
			tfBenutzer = new JTextField();
			tfBenutzer.setBounds(new Rectangle(30, 90, 120, 20));
		}
		return tfBenutzer;
	}

	private JPasswordField getPfPasswort() {
		if (pfPasswort == null) {
			pfPasswort = new JPasswordField();
			pfPasswort.setBounds(new Rectangle(215, 90, 120, 20));
		}
		return pfPasswort;
	}

	private JButton getBtAnmelden() {
		if (btAnmelden == null) {
			btAnmelden = new JButton();
			btAnmelden.setBounds(new Rectangle(30, 260, 120, 34));
			btAnmelden.setText("Anmelden");
			btAnmelden.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
					
					String mBenutzerEingabe = tfBenutzer.getText();
					String mPasswortEingabe = String.valueOf(pfPasswort.getPassword());
					//String myDatabaseFile = tfDatenbankPfad.getText() + tfDatenbankDatei.getText();
					//String passwordDB = String.valueOf(pfPasswortDB.getPassword());
					objLogin.setMyDatabaseFile(tfDatenbankPfad.getText() + tfDatenbankDatei.getText());
					objLogin.setPasswordDB(String.valueOf(pfPasswortDB.getPassword()));
					//myDatabaseFile = objLogin.getMyDatabaseFile();
					//passwordDB = objLogin.getPasswordDB();   // Mit diesen jetzt auskommentierten Übergabeparametern hatte es geklappt. 
					loginDatenLesen(mBenutzerEingabe, /*myDatabaseFile, passwordDB*/);
					zuweisen();
					boolean mAnmeldenOK	= checkPassword(mPasswortEingabe);
					
					if (mAnmeldenOK)
					{
						Hauptfenster mainFenster = new Hauptfenster();
						mainFenster.setVisible(true);
						LoginFenster.this.dispose();
					}
					else
					{
						JOptionPane.showMessageDialog(null, "Falsches Passwort !");
						pfPasswort.setText("");
						pfPasswort.requestFocus();
					}

					
				}
			});
		}
		return btAnmelden;
	}

	
private void loginDatenLesen(String mBenutzerEingabe, /*String myDatabaseFile, String passwordDB*/)
{
	try
	{
		String mSQL;
		DBZugriff objZugriff = new DBZugriff();
		mSQL = "SELECT Benutzername, Passwort FROM Login WHERE Benutzername = '"+mBenutzerEingabe+"'";
		objZugriff.oeffnen(/*myDatabaseFile, passwordDB*/);
		objErgebnis = objZugriff.lesen(mSQL);
	}
	catch (Exception e)
	{
		System.out.println("Suche fehlgeschlagen !");
		JOptionPane.showMessageDialog(null, "Falscher Benutzername");
	}
}
	
public void zuweisen()
{
	try
	{
		objErgebnis.next();
		objLogin.setBenutzername(objErgebnis.getString("Benutzername"));
		objLogin.setPasswort(objErgebnis.getString("Passwort"));		
	}
	catch (Exception e)
	{
		System.out.println("Zuweisung Ergebnisobjekt fehlgeschlagen");
		JOptionPane.showMessageDialog(null, "Falscher Benutzername !");
	}
}

public boolean checkPassword(String mPasswortEingabe)
{
	boolean mAnmelden = true;
	if(mPasswortEingabe.equals(objLogin.getPasswort()))
	{
		mAnmelden = true;
	}
	else 
	{
		mAnmelden = false;
	}
	return mAnmelden;
}

private JTextField getTfDatenbankPfad() {
	if (tfDatenbankPfad == null) {
		tfDatenbankPfad = new JTextField();
		tfDatenbankPfad.setBounds(new Rectangle(30, 157, 306, 20));
		tfDatenbankPfad.setFont(new Font("Dialog", Font.ITALIC, 12));
		tfDatenbankPfad.setText("H:/Datenbanken/");
	}
	return tfDatenbankPfad;
}

private JTextField getTfDatenbankDatei() {
	if (tfDatenbankDatei == null) {
		tfDatenbankDatei = new JTextField();
		tfDatenbankDatei.setBounds(new Rectangle(30, 179, 239, 20));
		tfDatenbankDatei.setEditable(false);
		tfDatenbankDatei.setFont(new Font("Dialog", Font.ITALIC, 12));
		tfDatenbankDatei.setText("DBMusikvereinverwaltung_passwort.mdb");
	}
	return tfDatenbankDatei;
}

private JCheckBox getCbDatenbankVerschlüsselt() {
	if (cbDatenbankVerschlüsselt == null) {
		cbDatenbankVerschlüsselt = new JCheckBox();
		cbDatenbankVerschlüsselt.setBounds(new Rectangle(27, 199, 145, 21));
		cbDatenbankVerschlüsselt.setFont(new Font("Dialog", Font.PLAIN, 10));
		cbDatenbankVerschlüsselt.setSelected(true);
		cbDatenbankVerschlüsselt.setText("verschlüsselte Datenbank");
		cbDatenbankVerschlüsselt.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent e) {
				System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				tfDatenbankDatei.setText("DBMusikvereinverwaltung_passwort.mdb");
				cbDatenbankNichtVerschlüsselt.setSelected(false);
				if (cbDatenbankVerschlüsselt.isSelected())
				{	}
				else
				{
					if(cbDatenbankNichtVerschlüsselt.isSelected())
					{}
					else
					{
						tfDatenbankDatei.setText("");
					}
				}
			}
		});
	}
	return cbDatenbankVerschlüsselt;
}

private JCheckBox getCbDatenbankNichtVerschlüsselt() {
	if (cbDatenbankNichtVerschlüsselt == null) {
		cbDatenbankNichtVerschlüsselt = new JCheckBox();
		cbDatenbankNichtVerschlüsselt.setBounds(new Rectangle(27, 218, 134, 21));
		cbDatenbankNichtVerschlüsselt.setFont(new Font("Dialog", Font.PLAIN, 10));
		cbDatenbankNichtVerschlüsselt.setText("offene Datenbank");
		cbDatenbankNichtVerschlüsselt
				.addActionListener(new java.awt.event.ActionListener() {
					public void actionPerformed(java.awt.event.ActionEvent e) {
						System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
						
						tfDatenbankDatei.setText("DBMusikvereinverwaltung.mdb");
						cbDatenbankVerschlüsselt.setSelected(false);
						if (cbDatenbankVerschlüsselt.isSelected())
						{	}
						else
						{
							if(cbDatenbankNichtVerschlüsselt.isSelected())
							{}
							else
							{
								tfDatenbankDatei.setText("");
							}
						}
					}
				});
	}
	return cbDatenbankNichtVerschlüsselt;
}

private JPasswordField getPfPasswortDB() {
	if (pfPasswortDB == null) {
		pfPasswortDB = new JPasswordField();
		pfPasswortDB.setBounds(new Rectangle(179, 202, 122, 18));
	}
	return pfPasswortDB;
}

		
}

Java:
package paketClasses;

import java.sql.*;
import paketClasses.Login;

public class DBZugriff
{
	Connection objVerbindung=null;
	Statement objSQLBefehl=null;
	private Login objLogin;
	
	String mTreiber;
	
	public void oeffnen(/*String myDatabaseFile, String password*/)
	{
		try
		 {

			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			//String myDatabaseFile = "F:/DBMusikvereinverwaltung_passwort.mdb";
			String username = "Administrator";
			//String password = "test";
			String myDatabaseFile = objLogin.getMyDatabaseFile();
			String password = objLogin.getPasswordDB();
			System.out.println(myDatabaseFile);  /* Hier wird nichts ausgegeben. Daraus schließe ich mal, dass ich das mit den Objekten wohl noch nicht so richtig gerafft habe.*/
			System.out.println(password);
			mTreiber = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq="+myDatabaseFile+";Uid="+username+";Pwd="+password+";";
			//mTreiber = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq="+myDatabaseFile+"";
			objVerbindung=DriverManager.getConnection(mTreiber);
		}		
		catch (Exception e)
		{
			e.printStackTrace();
			System.out.println("Verbindung fehlgeschlagen!");
		}
	}
	  
				
	
  }

Ich hoffe, man kann verstehen was ich meine.
Wahrscheinlich wieder nur ein extrem dummer Anfängerfehler, aber nunja, selbst komm ich nicht drauf :(

VG Fitzi
 
S

SlaterB

Gast
der Fehler ist wirklich einfach, aber ich frage einfach der Reihe nach:
was ist los, was genau funktioniert nicht?

bzw. du hast ja schon Zeile 25
> System.out.println(myDatabaseFile);
markiert,
das muss noch besser
System.out.println("file: "+myDatabaseFile);
heißen, ist 'file: ' zu sehen?

es geht also um objLogin, wo soll das herkommen? (vergleiche: wo kam früher der String her)
 

Fitzi21

Aktives Mitglied
der Fehler ist wirklich einfach, aber ich frage einfach der Reihe nach:
was ist los, was genau funktioniert nicht?

Das heißt, du könntest mir den Fehler schon sagen?
Könnt ja lustig werden, stell dich auf einen langen Abend ein. Das Brett vorm Kopf ist ziemlich groß :D


bzw. du hast ja schon Zeile 25
> System.out.println(myDatabaseFile);
markiert,
das muss noch besser
System.out.println("file: "+myDatabaseFile);
heißen, ist 'file: ' zu sehen?

komischerweise klappt auch das nicht mehr, seit dem ich das umgestellt habe.



es geht also um objLogin, wo soll das herkommen? (vergleiche: wo kam früher der String her)

Code:
Login objLogin = new Login();
Da habe ich ja das Objekt objLogin mit den Attributen der Klasse Login erstellt. Richtig ?

Code:
objLogin.setMyDatabaseFile(tfDatenbankPfad.getText() + tfDatenbankDatei.getText());
objLogin.setPasswordDB(String.valueOf(pfPasswortDB.getPassword()));
Die Attribute myDatabaseFile und passwordDB werden mit den jeweiligen Strings gefüllt.

und danach in DBZugriff wieder ausgelesen
Code:
String myDatabaseFile = objLogin.getMyDatabaseFile();
String password = objLogin.getPasswordDB();

und da dazu noch die Deklaration
Code:
private Login objLogin;



Früher kam der String aus den Variablen, die ich dann übergeben hatte:
Code:
myDatabaseFile = objLogin.getMyDatabaseFile();
passwordDB = objLogin.getPasswordDB();

Aber dann müsste der Inhalt ja eigentlich in den Attributen gewesen sein.
Nur bekomme ich es nicht hin, dass ich die Attribute in DBZugriff direkt auslesen kann. In diesem Fall könnte ich ja dann die ganzen Übergabeparameter streichen !?


Nach dem 4 Stündigen Deutsch Aufsatz (Deutsch ist nicht so mein Lieblingsfach) bin ich dann doch ziemlich schwer von begriff :D

VG Fitzi
 
S

SlaterB

Gast
früher hast du die einzelnen chars in einen String gespeichert, diesen String, einen Container für chars, übergeben und an anderer Stelle verwendet,

nun gehts du einen Schritt weiter, die chars kommen in einen String, dieser String in einen weiteren Container X und eine andere Stelle arbeitet du mit X weiter,
du verzichtest nur komplett darauf X zu übergeben,
dass andere Codestellen ihr eigenes X definieren (wobei auch nur eine Variable, kein Objekt -> NullPointerException) ist keine Lösung
 

Fitzi21

Aktives Mitglied
Ich habe immer gedacht (bzw. mir wäre bis auf jetzt nie das Gegenteil aufgefallen), dass wenn ich in ein Objekt schreibe, ich von überall die Daten wieder auslesen kann.
So scheint es aber nicht zu sein, wenn ich dich richtig verstehe. Wie muss ich das dann übergeben ? Mein Ziel war es ja eigenltich, dass ich nichts übergeben muss, da ich zum Beispiel oeffnen in 3 verschiedenen Klassen aufrufe (LoginFenster enthält die Werte, die anderen beiden aber nichts - deshalb können sie es auch nicht in DBZugriff übergeben)

Habe ich mit private Login objLogin dementsprechend ein eigenes X definiert, welches auch nur eine Variable darstellt ? Komm da glaube grad nicht mit.


Es tut mir echt leid, dass ich mich so anstelle, aber ich scheine schon die einfachsten Dinge alle in einen Topf zu werfen und finde in diesem Eintopf wohl nichts mehr :(
 
S

SlaterB

Gast
du könntest in LoginFenster
[c]public static Login objLogin = new Login();[/c]
definieren, und auf genau dieses Login (nicht andere Login-Deklarationen) in anderen Klassen zugreifen

[c]String myDatabaseFile = LoginFenster.objLogin.getMyDatabaseFile();[/c]
 

Fitzi21

Aktives Mitglied
Hat leider etwas gedauert, bis ich es probieren konnte.
Aber jetzt hatte ich mal wieder Zeit und ich muss sage :toll: hat genau so geklappt wie ich das gedacht hatte.

Vielen Dank noch einmal.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
cpt.Tomato Scanner problem mit Passwort Login Java Basics - Anfänger-Themen 3
E fehlermeldung bei richtigen login daten Java Basics - Anfänger-Themen 7
Spitzli Java login mit hashed password Java Basics - Anfänger-Themen 11
S Datenbank Befehl nach Login Java Basics - Anfänger-Themen 5
N (Java) Regristrierung und Login System mit einer Datenbank Java Basics - Anfänger-Themen 5
M Ist es möglich den Login in eine Drittseite für den eigenen zu benutzen? Java Basics - Anfänger-Themen 1
E Klassen Login MVC Java Basics - Anfänger-Themen 4
M Erste Schritte Verschlüsselung / Login-Sicherheit Java Basics - Anfänger-Themen 8
K LogIn Programm Frage Java Basics - Anfänger-Themen 4
F Wegpage Login mit Java Java Basics - Anfänger-Themen 1
N Login-Authorization, Hilfe! Java Basics - Anfänger-Themen 4
P Login und Register screen Java Basics - Anfänger-Themen 5
M Login Mitschneiden Java Basics - Anfänger-Themen 3
Screen Wie Login auf einer Seite via Java? Java Basics - Anfänger-Themen 5
A Login Fenster Java Basics - Anfänger-Themen 3
Z Login Fenster Java Basics - Anfänger-Themen 7
E Methoden Login aber wie? Java Basics - Anfänger-Themen 12
R Login mit Datenbankabfrage: Kleines Problem! Java Basics - Anfänger-Themen 6
B login fehler Java Basics - Anfänger-Themen 7
E HTTP Client - Login durchführen? Java Basics - Anfänger-Themen 4
N URLConnection Post Login Java Basics - Anfänger-Themen 8
M Login-Menü Java Basics - Anfänger-Themen 7
H Browser-Login mit Chipkarte / Kartenlesegerät Java Basics - Anfänger-Themen 6
P Probleme mit Berechtigungen /Elsterportal login Java Basics - Anfänger-Themen 1
G Login funktioniert nicht! Java Basics - Anfänger-Themen 5
G JSF und Login Java Basics - Anfänger-Themen 2
W HttpClient + 'Login' Java Basics - Anfänger-Themen 3
F Java login & input (html). Java Basics - Anfänger-Themen 4
G Probleme beim Login (Webservice) Java Basics - Anfänger-Themen 4
G Login - Allgemeine Fragen Java Basics - Anfänger-Themen 6
B Scriptseite für eBay-Login + Kaufübersicht Java Basics - Anfänger-Themen 8
K login grafikcode Java Basics - Anfänger-Themen 3
P LogIn prozedur Java Basics - Anfänger-Themen 4
J Login programmieren Java Basics - Anfänger-Themen 5
F Bei Login mit Enter bestätigen Java Basics - Anfänger-Themen 7
megachucky login window funktioniert nicht richtig. Java Basics - Anfänger-Themen 4
megachucky problem mit "login - window" Java Basics - Anfänger-Themen 2
B [suche erklärung] - sicherheit beim login Java Basics - Anfänger-Themen 3
G suche ein tutorial um einen LOGIN einzurichten. Java Basics - Anfänger-Themen 5
L 4 stelliges Passwort aus bestimmten Zeichen. Java Basics - Anfänger-Themen 27
M Passwort erraten Java Basics - Anfänger-Themen 1
A Passwort erstellen Java Basics - Anfänger-Themen 3
H Passwort Brute Force rekursiv Java Basics - Anfänger-Themen 7
I Passwort in Datenbank speichern um später wieder auszulesen Java Basics - Anfänger-Themen 5
JavaBeginner22 Passwort Generator Java Basics - Anfänger-Themen 2
S ArrayList Username und passwort mit JTextField eingaben abgleichen Java Basics - Anfänger-Themen 10
L Rekursiv gegebenes Passwort herausfinden. Java Basics - Anfänger-Themen 2
C Passwort abprüfen Java Basics - Anfänger-Themen 5
M Code nur für Cracks? Crack the Passwort Übung Java Basics - Anfänger-Themen 7
B Email versand - aber akzeptiert auch falscher Username und Passwort??? Java Basics - Anfänger-Themen 1
N Passwort Anfrage vor Programm start Java Basics - Anfänger-Themen 1
K Methoden Passwort Bestätigungsfeld mit Password vergleichen Java Basics - Anfänger-Themen 7
A Passwort System Java Basics - Anfänger-Themen 4
G Passwort und Passwort wiederholen in if-Abfrage vergleichen Java Basics - Anfänger-Themen 15
E Wie Passwort-Eingabe (ohne Echo!) über Konsole ? Java Basics - Anfänger-Themen 4
J Passwort überprüfen Java Basics - Anfänger-Themen 3
B Passwort prüfen bis eindeutig - while Schleife? Java Basics - Anfänger-Themen 11
C Encrypted (passwort) Rar Datei entpacken Java Basics - Anfänger-Themen 42
Detox Passwort verschleiern Java Basics - Anfänger-Themen 4
A Erste Schritte Passwort an "Internetseite" übergeben. Java Basics - Anfänger-Themen 2
B Passwort zurücksetzen Java Basics - Anfänger-Themen 1
U Passwort verschlüsseln schlägt fehl Java Basics - Anfänger-Themen 3
T Passwort Generator Java Basics - Anfänger-Themen 2
B If Abfrage mit Passwort und Username Java Basics - Anfänger-Themen 2
fLooojava Passwort generieren - kleines Programm Java Basics - Anfänger-Themen 15
Z User/passwort eingabe...Help! Java Basics - Anfänger-Themen 4
M Passwort-Generator Java Basics - Anfänger-Themen 3
S Passwort Manager Java Basics - Anfänger-Themen 2
J Passwort Java Basics - Anfänger-Themen 4
A Passwort Schutz Java Basics - Anfänger-Themen 8
U Passwort auf JButton setzen. Java Basics - Anfänger-Themen 2
P Passwort Abfrage Java Basics - Anfänger-Themen 3
c_sidi90 Passwort Generator Code Erweiterung Java Basics - Anfänger-Themen 12
K Methode Passwort generieren Java Basics - Anfänger-Themen 10
F OOP Textdatei zippen und mit Passwort sichern Java Basics - Anfänger-Themen 5
Benji0815 Java Passwort in Formular eingeben Java Basics - Anfänger-Themen 5
G Passwort verschluesselt speichern Java Basics - Anfänger-Themen 7
M Regular Expression - Passwort - aufeinanderfolgende Zeichen Java Basics - Anfänger-Themen 3
H Passwort einlesen funktioniert nicht wie gewünscht Java Basics - Anfänger-Themen 5
S Erster Versuch: Passwort erstellen Java Basics - Anfänger-Themen 3
S String Vergleich mit Passwort geht nur bei Zahlen ? Java Basics - Anfänger-Themen 7
S Vergleichen von verschlüsselten Passwort Java Basics - Anfänger-Themen 3
G Passwort vor unbefugtem Zugriff schützen Java Basics - Anfänger-Themen 7
D Passwort verschlüsseln mit MD5 Java Basics - Anfänger-Themen 30
P Passwort überprüfen mit regular Expression Java Basics - Anfänger-Themen 4
O Unsichtbares Passwort Java Basics - Anfänger-Themen 2
R Passwort Maskierung in der Konsole Java Basics - Anfänger-Themen 9
I Frame mit Passwort-Eingabe (Datenbank) Java Basics - Anfänger-Themen 6
V Passwort-String byteweise in eine Datei schreiben Java Basics - Anfänger-Themen 6
T Passwort nicht in URL übergeben Java Basics - Anfänger-Themen 5
B Benutzername und Passwort an Internetseite übergeben Java Basics - Anfänger-Themen 3
B Passwort generator Java Basics - Anfänger-Themen 7
heinrich172 Methoden Trotz gleichem Element stimmt Vergleich nicht? Java Basics - Anfänger-Themen 7
U Interface als PAramter (Vergleich) und ein Error Java Basics - Anfänger-Themen 9
K Erste Schritte Wie schnell ist LinkedHashMap im Vergleich zur ArrayList, wenn alle Entries durchlaufen werden? Java Basics - Anfänger-Themen 47
B Performance-Vergleich mit C++ Java Basics - Anfänger-Themen 55
K Rekursiver Vergleich von Textmuster und Text Java Basics - Anfänger-Themen 2
Zeppi Vergleich von Array-Inhalten Java Basics - Anfänger-Themen 14
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
B Date - Vergleich (equals / after) ? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben