Skip to Main Content

Java SE (Java Platform, Standard Edition)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

re: username and password

843807Jun 9 2010 — edited Jun 19 2010
Used code tags this time. Ya so i was wondering about how to input a username and make it go together with a password.

my frame looks like

Username: ____
Password:______

so i have labels and text fields just need to know how to incorporate them.

I tried the same concept as the password by creating a boolean and setting the correct name but in the actionperformed when i .getText from user input it gives me an error. For the password .getPassword(im using a JPasswordField) it works. Any Ideas
public void actionPerformed( ActionEvent evt)
  {
      {
        String cmd = evt.getActionCommand();
        String text = evt.getActionCommand();
    if(name.equals(text))
    {
         //here is the error(menutextname is the JTextField)
        char[] input = menutextname.getText();
    }

    if (password.equals(cmd))
    { //Process the password.
        
        char[] input = menupasswordtext.getPassword();
        if (isPasswordCorrect(input))
        {
          options();
          menuframe.setVisible(false);
        }
        else {
            JOptionPane.showMessageDialog(menuframe,
                "Invalid password. Try again.",
                "Error Message",
                JOptionPane.ERROR_MESSAGE);
        }
     }
      }

      if(evt.getActionCommand().equals("New BS"))//if the action equals 'new game'
    {
        BS();
        optionframe.setVisible(false);
    }
  }
  
private static boolean isNameCorrect(char[] input)
  {
      boolean isCorrect= true;
      char[] correctname = {'b','o','b'};
      if (input.length!=correctname.length)
      {
          isCorrect=false;
      }
      else
      {
         isCorrect = Arrays.equals (input, correctname) ;
      }
      Arrays.fill(correctname,'0');
      return isCorrect;
  }
  
private static boolean isPasswordCorrect(char[] input)
  {
    boolean isCorrect = true;
    char[] correctPassword = { 'p', 'a', 's', 's', 'w', 'o', 'r','d' };
    if (input.length != correctPassword.length) {
        isCorrect = false;
    } else {
        isCorrect = Arrays.equals (input, correctPassword);
    }

    //Zero out the password.
    Arrays.fill(correctPassword,'0');

    return isCorrect;
  }

}
Edited by: babojee on Jun 9, 2010 7:42 PM

Edited by: babojee on Jun 9, 2010 8:30 PM

Edited by: babojee on Jun 9, 2010 8:35 PM

Comments

843807
I put your code into my system and it worked like a charm.
specified a PDF file - and Acrobat opened it with out a murmur.


What kind of file are you trying to open and are you sure its application is associated (and what OS?) - I am on Vista.

Rudi
843807
Running Win XP

Following your example, I tried a pdf file, which is obviously associated with acrobat, with the same result (ie nothing)
If I purposely misspell the file name, then I get an IllegalArgumentException saying the file doesn't exist.
So that tells me that it is finding the file (when spelled correctly), but somehow not doing anything with it.

Running the demo here:
http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/
the browse and mail functionality works, but not the file functionality, again same result, just nothing.

I'm running these from Eclipse. Would an IDE interfere with the Desktop?
camickr
The code below does nothing.
Your right it does nothing because it doesn't compile.

For more help create a [SSCCE (Short, Self Contained, Compilable and Executable, Example Program)|http://sscce.org], that demonstrates the incorrect behaviour. Then you can hardcode the filename to be the java source file name so everybody is testing the same code.
843807
package desktopdemo;

import java.awt.Desktop;
import java.io.File;
import java.io.IOException;

public class MyDesktopDemo {

	public MyDesktopDemo() {

		// have tried .txt, .rtf, .pptx all with no effect
		String pathAndFileString = "C:\\my.pptx";
		File file = new File(pathAndFileString);
		if (Desktop.isDesktopSupported()) {
			Desktop desktop = Desktop.getDesktop();
			if (desktop.isSupported(Desktop.Action.OPEN )) {
				try {
					System.out.println("desktop.open(" + pathAndFileString + ")"); // gets here
					desktop.open(file); // but nothing happens
				} catch (IOException e1) {
					e1.printStackTrace();
				}
			}
			else {
				System.out.println("Desktop.Action.OPEN not supported");
			}
		}
		else {
			System.out.println("Desktop not supported");
		}

	}

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new MyDesktopDemo();
            }
        });
    }
    
}
darrylburke
Your code runs fine and opens a text file in Windows7 and also in virtualized WinXP Mode over Win7.

db
darrylburke
Note: This thread was originally posted in the Swing forum, but moved to this forum for closer topic alignment.
darrylburke
Also, whyever are you wrapping the constructor call in invokeLater(...)? there are no Swing components involved here.

db
843807
sorry, that was just a leftover from copy/paste of another test program.
Thanks for running the code. I guess that means there is something "wrong" with this computer.
1 - 8
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Jul 17 2010
Added on Jun 9 2010
11 comments
1,167 views