Password entering before proceeding

little confusion on passwordID and proceeding to java program.

Page 1 of 1

0 Replies - 1297 Views - Last Post: 12 April 2007 - 11:12 PM Rate Topic: -----

#1 pcnote   User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 36
  • Joined: 24-February 07

Password entering before proceeding

Post icon  Posted 12 April 2007 - 11:12 PM

I am trying to create a password before proceeding. Also need help on entering to the java program to run. Any help would be appreciated. Here is the error that I am recieving?

symbol : class JPasswordID
location: class Passwordentering
private JPasswordID passwordID;

and

symbol : class JPasswordID
location: class Passwordentering
passwordID = new JPasswordID(10);

Line 12 and 19 on "passwordID" is unexpect not to work. Thanks to anyone that reply for hints and tips.

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Passwordentering extends JPanel
						  implements ActionListener {
	private static String OK = "ok";
	private static String HELP = "help";

	private JFrame controllingFrame; //needed for dialogs
	private JPasswordField passwordField;
	private JPasswordID passwordID;

	public Passwordentering(JFrame f) {
		//Use the default FlowLayout.
		controllingFrame = f;

		//Create everything.
		passwordID = new JPasswordID(10);
		passwordID.setActionCommand(OK);
		passwordID.addActionListener(this);
		passwordField = new JPasswordField(10);
		passwordField.setActionCommand(OK);
		passwordField.addActionListener(this);
		
		

		JLabel label = new JLabel("Enter your id: ");
		label.setLabelFor(passwordID);
		
		JLabel label1 = new JLabel("Enter the password: ");
		label.setLabelFor(passwordField);

		JComponent buttonPane = createButtonPanel();

		//Lay out everything.
		JPanel textPane = new JPanel(new FlowLayout(FlowLayout.TRAILING));
		textPane.add(label);
		textPane.add(passwordID);
		textPane.add(label1);
		textPane.add(passwordField);

		add(textPane);
		add(buttonPane);
	}

	protected JComponent createButtonPanel() {
		JPanel p = new JPanel(new GridLayout(0,1));
		JButton okButton = new JButton("OK");
		JButton helpButton = new JButton("Help");

		okButton.setActionCommand(OK);
		helpButton.setActionCommand(HELP);
		okButton.addActionListener(this);
		helpButton.addActionListener(this);

		p.add(okButton);
		p.add(helpButton);

		return p;
	}

	public void actionPerformed(ActionEvent e) {
		String cmd = e.getActionCommand();

		if (OK.equals(cmd)) { //Process the password.
			char[] input = passwordID.getPassword() &&  passwordField.getPassword();
			if (isPasswordCorrect(input)) {
				JOptionPane.showMessageDialog(controllingFrame,
					"Success! You typed the right ID and password.");
			} else {
				JOptionPane.showMessageDialog(controllingFrame,
					"Invalid password or ID. Try again.",
					"Error Message",
					JOptionPane.ERROR_MESSAGE);
			}

			//Zero out the possible password, for security.
			for (int i = 0; i < input.length; i++) {
				input[i] = 0;
			}
			
			passwordID.selectAll();
			passwordField.selectAll();
			resetFocus();
		} else { //The user has asked for help.
			JOptionPane.showMessageDialog(controllingFrame,
				"You can get the password by searching this example's\n"
			  + "source code for the string \"correctPassword\".\n"
			  + "Or look at the section How to Use Password Fields in\n"
			  + "the components section of The Java Tutorial.");
		}
	}

	/**
	 * Checks the passed-in array against the correct password.
	 * After this method returns, you should invoke eraseArray
	 * on the passed-in array.
	 */
	private static boolean isPasswordCorrect(char[] input) {
		boolean isCorrect = true;
		char[] correctID = {'j','a','m','e','s' };
		char[] correctPassword = { 'j','a','m','e','s' };

		if (input.length != correctPassword.length) {
			isCorrect = false;
		} else {
			for (int i = 0; i < input.length; i++) {
				if (input[i] != correctPassword[i]) {
					isCorrect = false;
				}
			}
		}

		//Zero out the password.
		for (int i = 0; i < correctPassword.length; i++) {
			correctID[i] = 0;
			correctPassword[i] = 0;
		}

		return isCorrect;
	}

	//Must be called from the event-dispatching thread.
	protected void resetFocus() {
		passwordID.requestFocusInWindow();
		passwordField.requestFocusInWindow();
	}

	/**
	 * Create the GUI and show it.  For thread safety,
	 * this method should be invoked from the
	 * event-dispatching thread.
	 */
	private static void createAndShowGUI() {
		//Create and set up the window.
		JFrame frame = new JFrame("Entering Java Programming");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		//Create and set up the content pane.
		final Passwordentering newContentPane = new Passwordentering(frame);
		newContentPane.setOpaque(true); //content panes must be opaque
		frame.setContentPane(newContentPane);

		//Make sure the focus goes to the right component
		//whenever the frame is initially given the focus.
		frame.addWindowListener(new WindowAdapter() {
			public void windowActivated(WindowEvent e) {
				newContentPane.resetFocus();
			}
		});

		//Display the window.
		frame.pack();
		frame.setVisible(true);
	}

	public static void main(String[] args) {
		//Schedule a job for the event-dispatching thread:
		//creating and showing this application's GUI.
		javax.swing.SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				createAndShowGUI();
			}
		});
	}
}




Is This A Good Question/Topic? 0
  • +

Page 1 of 1