How To Design SignUp And SignIn Form In One Jframe Using Java NetBeans
In this Java Tutorial we will see How To Design A Login Form And A Register Form In One Jframe Using JPanels In Java NetBeans .
flatuicolorpicker.com => to get flat colors.
iconsdb.com => for icons.
Project Source Code:
// create borders
Border default_top_border = BorderFactory.createMatteBorder(2, 0, 0, 0, new Color(204,204,204));
Border red_top_border = BorderFactory.createMatteBorder(2, 0, 0, 0, Color.red);
Border textField_border = BorderFactory.createMatteBorder(0, 0, 2, 0, Color.red);
// create an array of componenet
Component[] comps;
HashMap<Component, String> map = new HashMap<>();
public Login_Register() {
initComponents();
// center form
this.setLocationRelativeTo(null);
// we can add a focus in and out like we did in the login panel
// or we can make it with a loop
// populate the comps
comps = jPanel_register.getComponents();
// populate the hashmap
for (Component comp : comps) {
if(comp instanceof JTextField)
{
JTextField textField = (JTextField) comp;
map.put(textField,textField.getText());
}
else if(comp instanceof JPasswordField)
{
JPasswordField passField = (JPasswordField) comp;
map.put(passField,String.valueOf(passField.getPassword()));
}
}
// set borders
jLabel_login.setBorder(default_top_border);
jLabel_register.setBorder(default_top_border);
jTextField_login_username.setBorder(textField_border);
jPasswordField_login_pass.setBorder(textField_border);
jTextField_register_username.setBorder(textField_border);
jTextField_register_email.setBorder(textField_border);
jPasswordField_register_pass.setBorder(textField_border);
jPasswordField_register_confirmPass.setBorder(textField_border);
// show icons
jLabel_close.setIcon(new ImageIcon(getClass().getResource("IMAGES/x-mark.png")));
jLabel_login_username.setIcon(new ImageIcon(getClass().getResource("IMAGES/contacts.png")));
jLabel_login_password.setIcon(new ImageIcon(getClass().getResource("IMAGES/lock.png")));
jLabel_register_username.setIcon(new ImageIcon(getClass().getResource("IMAGES/contacts.png")));
jLabel_register_email.setIcon(new ImageIcon(getClass().getResource("IMAGES/email.png")));
jLabel_register_password.setIcon(new ImageIcon(getClass().getResource("IMAGES/lock.png")));
jLabel_register_confirm_password.setIcon(new ImageIcon(getClass().getResource("IMAGES/ok.png")));
// add the focus events
addFocusEvent();
// call the jlabel mouse click event
jLabel_loginMouseClicked(null);
}
// create a function for the focus in
public void focusIn(JTextField textField, JPasswordField passField, String originalText)
{
// for the jpassword
if(passField != null)
{
String passValue = String.valueOf(passField.getPassword());
if(passValue.equals(originalText))
{
passField.setText("");
passField.setForeground(Color.black);
}
}
// for the jtextfield
else
{
String textFieldValue = textField.getText().trim().toLowerCase();
if(textFieldValue.equals(originalText))
{
textField.setText("");
textField.setForeground(Color.black);
}
}
}
// create a function for the focus out
public void focusOut(JTextField textField, JPasswordField passField, String originalText)
{
// for the jpassword
if(passField != null)
{
String passValue = String.valueOf(passField.getPassword());
if(passValue.equals(originalText) || passValue.equals(""))
{
passField.setText(originalText);
passField.setForeground(new Color(153,153,153));
}
}
// for the jtextfield
else
{
String textFieldValue = textField.getText().trim().toLowerCase();
if(textFieldValue.equals(originalText) || textFieldValue.equals(""))
{
textField.setText(originalText);
textField.setForeground(new Color(153,153,153));
}
}
}
private void jTextField_login_usernameFocusGained(java.awt.event.FocusEvent evt) {
// if the jtextfield text = username
// clear the textfield
String usernameValue = jTextField_login_username.getText().trim().toLowerCase();
if(usernameValue.equals("username"))
{
jTextField_login_username.setText("");
jTextField_login_username.setForeground(Color.black);
}
}
private void jTextField_login_usernameFocusLost(java.awt.event.FocusEvent evt) {
// if the textfield is empty -> set the text to 'username'
String usernameValue = jTextField_login_username.getText().trim().toLowerCase();
if(usernameValue.equals("username") || usernameValue.equals(""))
{
jTextField_login_username.setText("username");
jTextField_login_username.setForeground(new Color(153,153,153));
}
}
private void jPasswordField_login_passFocusGained(java.awt.event.FocusEvent evt) {
// if the jpassword text = password
// clear the textfield
String passValue = String.valueOf(jPasswordField_login_pass.getPassword()).trim().toLowerCase();
if(passValue.equals("password"))
{
jPasswordField_login_pass.setText("");
jPasswordField_login_pass.setForeground(Color.black);
}
}
private void jPasswordField_login_passFocusLost(java.awt.event.FocusEvent evt) {
// if the textfield is empty -> set the text to 'password'
String passValue = String.valueOf(jPasswordField_login_pass.getPassword()).trim().toLowerCase();
if(passValue.equals("password") || passValue.equals(""))
{
jPasswordField_login_pass.setText("password");
jPasswordField_login_pass.setForeground(new Color(153,153,153));
}
}
// add the focus event to jtextfields
public void addFocusEvent()
{
for (Component comp : comps) {
if(comp instanceof JTextField)
{
JTextField textField = (JTextField) comp;
textField.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
focusIn(textField, null, map.get(textField));
}
@Override
public void focusLost(FocusEvent e) {
focusOut(textField, null, map.get(textField));
}
});
}
else if(comp instanceof JPasswordField)
{
JPasswordField passField = (JPasswordField) comp;
passField.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
focusIn(passField, null, map.get(passField));
}
@Override
public void focusLost(FocusEvent e) {
focusOut(passField, null, map.get(passField));
}
});
}
}
}
private void jLabel_closeMouseClicked(java.awt.event.MouseEvent evt) {
// close this form
this.dispose();
}
////// OUTPUT :
More Java Projects:
Download Projects Source Code