Swing applet with a JTextField asking user for a password

Hi,
I have to Create a Swing applet that asks a user to enter a password into a JTextField and to then press [Enter].
Compare the password to "Rosebud"; if it marches, display "Access Granted", if not display "Access Denied.

I tried to write a program but everytime I run it, whenever I enter the correct password or the wrong one it comes out as "access denied".

Here is my code: (Hope you can help)

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class JPasswordA extends JApplet implements ActionListener
{
      JLabel greeting = new JLabel("Please, enter password");
      Font bigFont = new Font("TimesRoman", Font.ITALIC, 24);
      JButton pressMe = new JButton("Press ME");

      JTextField answer = new JTextField("",10);
      FlowLayout flow = new FlowLayout();

      public void init()
      {
            greeting.setFont(bigFont);
            Container con = getContentPane();
            con.add(greeting);
            con.setLayout(flow);
            con.add(answer);
            con.add(pressMe);
            pressMe.addActionListener(this);
            answer.addActionListener(this);
            answer.requestFocus();
      }
      public void actionPerformed(ActionEvent thisEvent)
      {
            Object source = thisEvent.getSource();
                  if(source == ("Rosebud"))
                  {
                  String name = answer.getText();
                  System.out.println("Access granted");
            }
                  else if(source instanceof JTextField);
                  {
                        String name = answer.getText();
                        System.out.println("Access denied");
                  }
            }
      }
stdebernardiAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

yongsingCommented:
The following will work.

public void actionPerformed(ActionEvent thisEvent)
{
    Object source = thisEvent.getSource();
    if (source instanceof JTextField)
    {
          String name = answer.getText();
          if (name.equals("Rosebud")) {
              System.out.println("Access granted");
          }
          else
          {
              System.out.println("Access denied");
          }
    }
}

0
yongsingCommented:
If you want the checking to be done when either the Enter key is pressed or the button is clicked, then the following code will do:

public void actionPerformed(ActionEvent thisEvent)
{
     String name = answer.getText();
     if (name.equals("Rosebud")) {
         System.out.println("Access granted");
     }
     else
     {
         System.out.println("Access denied");
     }
}


By the way, you should use a JPasswordField instead. This component will display the characters you enter as *.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
stdebernardiAuthor Commented:
That's great.
Thank you so much.

I thought about using a JPasswordField but the requirement was a JTextField, I don't know why, a JPasswordField would have been more realistic. Oh well.

Thanks again.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java

From novice to tech pro — start learning today.