Reputation: 5
I want to connect my IDE to Oracle SQL Developer. Therefore I have to use this line of code:
Connection connection = DriverManager.getConnection(dbURL, username, password);
To enter the password I am using this:
JPasswordField pass = new JPasswordField(10);
I would like to know how I can convert this JPasswordField into a String, so I can use the "Connect" line of Code I(This line only works with Strings)
EDIT: This is the code for entering the password. I found it here on stackoverflow:
JPanel panel = new JPanel();
JLabel label = new JLabel("Enter password:");
JPasswordField pass = new JPasswordField(10);
panel.add(label);
panel.add(pass);
String[] options = new String[]{"OK", "Cancel"};
int option = JOptionPane.showOptionDialog(null, panel, " Password for Database Connection",
JOptionPane.NO_OPTION, JOptionPane.PLAIN_MESSAGE,
null, options, options[0]);
Upvotes: 0
Views: 551
Reputation: 43
You just simply cast the the pass.getPassword() into string like this:
String stringPass = new String(pass.getPassWord());
but that defeats the security purpose of JPasswordField
. Make sure to overwrite the pass.getPassWord()
which is of type char[] since String stays in the JVM (Java Virtual Machine) until it's garbage-collected.
Upvotes: 1
Reputation: 2246
I guess you will have some kind of submit button somewhere which will call the method doing the connection.
You will be able to retrieve the content of the JPasswordField
by calling the getPassword
method which provide a char[]
.
Converting from char[] can be done by calling String.valueOf
Upvotes: 0