tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
1237
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Wyatt Wyatt ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    128
    Hey Leute,

    ich arbeite zur Zeit mit der Javamail-API und einer kleinen GUI zum auslesen von Mails aus einem Pop3 Account... soweit so gut!
    Nun gibt es die Möglichkeit ein Passwort einzugeben, welches ich dann per getPassword(); Methode auslesen will und welches dann zum einloggen in den Account gebraucht wird...

    Leider funktioniert das überhaupt nicht, ich hab es auch schon mit getPassword().toString(); versucht... selbes Ergebnis, immer irgendein Kauderwelsch...

    Gibt es eine Möglichkeit den Text aus dem PasswordField im Klartext auszulesen?!
    Falls nicht, hätte Ihr eine Idee, wie ich das selbe System mit einem JTextField realisieren kann (Text wird durch z.B. Sternchen ersetzt)?!

    Grüße
     

  2. #2
    MeinerEiner_80 Tutorials.de Gastzugang
    Moin!
    Code :
    1
    
    getPassword().toString()
    funktioniert nicht, weil getPassword() ein char Array zurückgibt. D.h. du bekommst da nur die Speicheradresse mit toString()

    Aber
    Code :
    1
    2
    3
    
    System.out.println(field.getPassword());
    System.out.println(new String(field.getPassword())); //bzw.
    String s = new String(field.getPassword());
    sollte auf jeden Fall funktionieren... Falls es merkwürdigerweise doch net klappt, solltest du mal deinen Code posten..

    *grüssle*
    MeinerEiner
     

  3. #3
    Wyatt Wyatt ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    128
    Hi MeinerEiner,

    danke für deine Hilfe, hat super funktioniert...

    ich hab leider nur grundlagen in dem bereich, ich hätte gedacht, dass er das passwort in einem array im klartext zurückgibt...
    durch die toString() methode, hab ich gedacht, gibt er es einfach als string zurück

    wieder etwas gelernt

    Grüße
     

  4. #4
    karfy karfy ist offline Rookie
    Registriert seit
    Apr 2009
    Beiträge
    8
    Hallo,

    ich habe leider auch mit den Tipps, die ich finden konnte, keine lauffähige Passwortabfrage generieren können. Jedesmal, wenn ich die Anwendung starte, dann wird mit ausgegeben, das Benutzername/Passwort falsch ist, er übergeht also meine if-Anweisung. Warum, weiß ich aber leider nicht.
    Kann mir vielleicht jemand weiterhelfen, der mir sagt, wo sich mein Fehler verbirgt?

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    
    package gui;
     
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
     
    public class UserProof extends JFrame {
        public UserProof(){
            super("Passwortabfrage");
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            Container content = getContentPane();
            content.add(initLayout());
            myListener();
        }
        private JComponent initLayout(){
            JPanel proofMain = new JPanel();
            proofMain.setLayout(new GridLayout(2,2));
                JPanel proofLbl = new JPanel();
                proofLbl.setLayout(new BoxLayout(proofLbl, BoxLayout.Y_AXIS));
                    proofLbl.add(new JLabel("Mitarbeiter-ID: "));
                    proofLbl.add(new JLabel("Passwort: "));
                JPanel proofTf = new JPanel();
                proofTf.setLayout(new BoxLayout(proofTf, BoxLayout.Y_AXIS));
                    proofTf.add(tfName);
                    proofTf.add(pword);
            proofMain.add(proofLbl);
            proofMain.add(proofTf);
            proofMain.add(btn_ok);
            proofMain.add(tfNote);
            return proofMain;
        }
        private void myListener(){
            btn_ok.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
    //              System.out.println(pword.getPassword());
                    pw = pword.getPassword();
                    pwKorr = String.valueOf(pw);
                    if(pwKorr.equals("123") && tfName.equals("931285")){
                        UserInterfaceInv ui = new UserInterfaceInv();
                        ui.pack();
                        ui.setVisible(true);
                        ui.setSize(375,400);
                    }
                    else {
                        tfNote.setText("Benutzer/Passwort falsch");
                    }
                }
            });
        }
        public static void main(String[] args){
            UserProof up = new UserProof();
            up.pack();
            up.setVisible(true);
        }
        private static final long serialVersionUID = 7711938862782475295L;
        private JTextField tfName = new JTextField("", 15), tfNote = new JTextField("", 10);
        private JPasswordField pword = new JPasswordField("", 10);
        private JButton btn_ok = new JButton("OK");
        private char[] pw;
        private String pwKorr;
    }

    Wäre super, da ich mit meinem Latein am Ende bin. Danke.
     

  5. #5
    Avatar von matdacat
    matdacat matdacat ist offline Mitglied Platin
    Registriert seit
    Aug 2004
    Beiträge
    672
    tfName ist Dein Textfeld, nicht dessen Inhalt. Versuchs mal mit tfName.getText().equals...
     

  6. #6
    karfy karfy ist offline Rookie
    Registriert seit
    Apr 2009
    Beiträge
    8
    Da sieht man es mal wieder, man sitzt vor seinem Programm, sieht den Wald vor lauter Bäumen nicht und bastelt an der falschen Baustelle. Dank dir! Nun funktioniert es endlich, wie ich mir das vorgestellt habe.
     

  7. #7
    ultra101 ultra101 ist offline Grünschnabel
    Registriert seit
    Jan 2011
    Beiträge
    1
    Super. Das funktioniert.
    Ich hab am gleichen Problem gegrübelt.
     

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 14.04.10, 10:04
  2. JPasswordField Focus setzen
    Von ICHE9 im Forum Java
    Antworten: 2
    Letzter Beitrag: 13.01.09, 14:33
  3. JPasswordField abfragen
    Von Stigma im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 15
    Letzter Beitrag: 28.11.07, 13:03
  4. JPasswordField: Passwort vergleichen
    Von the_skywalker im Forum Java
    Antworten: 3
    Letzter Beitrag: 23.06.05, 09:52