Hallo erstmal!
Ich bin zur Zeit noch Schüler. Zur Zeit beschäftigen wir uns in unserem Informatik Kurs mit der Programmiersprache Java.
Ich habe nun (freiwillig , da ich spaß am programmieren gefunden habe) angefangen mir ein Programm zu schreiben, welches meine Login-Daten (z.Bsp. von Email Adressen, Foren, Spielen etc.) speichern soll. Ja, ich weis, das kann man auch mit seinem Browser machen, aber ich möchte diese lokal auf meinem Computer (warscheinlich als SQL-Datenbank) speichern.
Im Moment habe ich meine Login-Daten noch in leider wenig unsicheren .txt - Dateien gespeichert.
Nun habe ich damit angefangen, mit Swing einen Login-Bildschirm zu schreiben, wo man sich zuerst mit einer Art 'Master-Kennwort' anmelden muss, um dann Zugriff auf die ganzen Login-Daten zu erhalten.
Das Fenster ist auch soweit fertig und funktioniert, jedoch gibt es noch eine Sache, die nicht funktioniert:
Ich möchte, wenn ich mich erfolgreich angemeldet habe, dass das Login-Fenster geschlossen wird, und sich das eigentliche Fenster mit den Daten öffnet. Wie sich das neue Fenster öffnen lässt ist mir bekannt, jedoch würde mich jetzt noch interessieren, mit welchem Befehl ich das Swing-Fenster über einen normalen JButton (bei mir JButton1) schliessen kann.
Die Passwörter verschlüssel ich später auch noch usw. aber jetzt würde ich gerne erstmal das oben genannte wissen.
VIELEN DANK schon im Vorraus!
Quelltext:
Ich bin zur Zeit noch Schüler. Zur Zeit beschäftigen wir uns in unserem Informatik Kurs mit der Programmiersprache Java.
Ich habe nun (freiwillig , da ich spaß am programmieren gefunden habe) angefangen mir ein Programm zu schreiben, welches meine Login-Daten (z.Bsp. von Email Adressen, Foren, Spielen etc.) speichern soll. Ja, ich weis, das kann man auch mit seinem Browser machen, aber ich möchte diese lokal auf meinem Computer (warscheinlich als SQL-Datenbank) speichern.
Im Moment habe ich meine Login-Daten noch in leider wenig unsicheren .txt - Dateien gespeichert.
Nun habe ich damit angefangen, mit Swing einen Login-Bildschirm zu schreiben, wo man sich zuerst mit einer Art 'Master-Kennwort' anmelden muss, um dann Zugriff auf die ganzen Login-Daten zu erhalten.
Das Fenster ist auch soweit fertig und funktioniert, jedoch gibt es noch eine Sache, die nicht funktioniert:
Ich möchte, wenn ich mich erfolgreich angemeldet habe, dass das Login-Fenster geschlossen wird, und sich das eigentliche Fenster mit den Daten öffnet. Wie sich das neue Fenster öffnen lässt ist mir bekannt, jedoch würde mich jetzt noch interessieren, mit welchem Befehl ich das Swing-Fenster über einen normalen JButton (bei mir JButton1) schliessen kann.
Die Passwörter verschlüssel ich später auch noch usw. aber jetzt würde ich gerne erstmal das oben genannte wissen.
VIELEN DANK schon im Vorraus!
Quelltext:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Anmelden extends JFrame
{
// Variablen Deklaration
private JLabel jLabel1;
private JLabel jLabel2;
private JTextField jText1;
private JPasswordField jPW1;
private JButton jButton1;
private JPanel contentPane;
// Konstruktor
public Anmelden()
{
super();
erstellen();
this.setVisible(true);
}
// Dienste
private void erstellen()
{
jLabel1 = new JLabel();
jLabel2 = new JLabel();
jText1 = new JTextField();
jPW1 = new JPasswordField();
jButton1 = new JButton();
contentPane = (JPanel)this.getContentPane();
//jLabel1
jLabel1.setHorizontalAlignment(SwingConstants.LEFT);
jLabel1.setForeground(new Color(0, 0, 255));
jLabel1.setText("Benutzername:");
//jLabel2
jLabel2.setHorizontalAlignment(SwingConstants.LEFT);
jLabel2.setForeground(new Color(0, 0, 255));
jLabel2.setText("Passwort:");
//jText1
jText1.setForeground(new Color(0, 0, 255));
jText1.setSelectedTextColor(new Color(0, 0, 255));
jText1.setToolTipText("Benutzername eingeben");
jText1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jText1_actionPerformed(e);
}
}
);
//jPW1
jPW1.setForeground(new Color(0, 0, 255));
jPW1.setToolTipText("Passwort eingeben");
jPW1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jPW1_actionPerformed(e);
}
}
);
//jButton1
jButton1.setBackground(new Color(204, 204, 204));
jButton1.setForeground(new Color(0, 0, 255));
jButton1.setText("Anmelden");
jButton1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jButton1_actionPerformed(e);
}
}
);
//contentPane
contentPane.setLayout(null);
contentPane.setBorder(BorderFactory.createEtchedBorder());
contentPane.setBackground(new Color(204, 204, 204));
addComponent(contentPane, jLabel1, 5,10,106,18);
addComponent(contentPane, jLabel2, 5,47,97,18);
addComponent(contentPane, jText1, 110,10,183,22);
addComponent(contentPane, jPW1, 110,45,183,22);
addComponent(contentPane, jButton1, 150,75,100,28);
//login
this.setTitle("Anmelden | passwortManager version 1.0");
this.setLocation(new Point(76, 182));
this.setSize(new Dimension(500, 141));
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
this.setResizable(false);
}
/** Inhalt ohne LayoutManager hinzufügen (Absolute Positionierung) */
private void addComponent(Container container,Component c,int x,int y,int breite,int höhe)
{
c.setBounds(x,y,breite,höhe);
container.add(c);
}
private void jText1_actionPerformed(ActionEvent e)
{
}
private void jPW1_actionPerformed(ActionEvent e)
{
}
private void jButton1_actionPerformed(ActionEvent e)
{
boolean checker = false;
System.out.println("jButton_actionPerformed(ActionEvent e) meldet sich zu Wort. Bitte bearbeiten! :D"); /** ENTFERNEN */
String username = new String(jText1.getText());
String passwort = new String(jPW1.getText());
if(username.equals("") || passwort.equals("")) //Wenn kein name oder PW eingegeben, tue folgendes:
{
checker = false;
jButton1.setEnabled(false);
JLabel errorFields = new JLabel("Anmeldung fehlerhaft! Du musst einen Benutzernamen und ein Kennwort eingeben!");
JOptionPane.showMessageDialog(null,errorFields);
jText1.setText("");
jPW1.setText("");
jButton1.setEnabled(true);
this.setVisible(true);
}
else if(username.equals("admin") && passwort.equals("test123")) //Wenn name=admin und pw=test123 tue das:
{
checker = true;
jButton1.setEnabled(false);
JLabel errorFields = new JLabel("Anmeldung erfolgreich! :)");
JOptionPane.showMessageDialog(null,errorFields);
//Platzhalter passwortManager öffnen!
}
else //wenn Falsch tue das:
{
checker = false;
jButton1.setEnabled(false);
JLabel errorFields = new JLabel("Anmeldung fehlerhaft! Falsches Passwort!");
JOptionPane.showMessageDialog(null,errorFields);
jText1.setText("");
jPW1.setText("");
jButton1.setEnabled(true);
this.setVisible(true);
}
}
public static void main(String[] args)
{
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try
{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}
catch (Exception ex)
{
System.out.println("Look and Feel konnte nicht geladen werden. :(");
System.out.println(ex);
}
new Anmelden();
}
}