0

this is the main class

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

public class Password {

    public static void main(String[] args) {
        final JFrame frame = new JFrame("Password Field");
        JLabel lblUser = new JLabel("User Name:");
        JTextField tfUser = new JTextField(20);
        lblUser.setLabelFor(tfUser);

        JLabel lblPassword = new JLabel("Password:");
        final JPasswordField pfPassword = new JPasswordField(20);
        lblPassword.setLabelFor(pfPassword);

        JButton btnLogin = new JButton("Login");
        btnLogin.addActionListener(  
                new ActionListener() {

                        public void actionPerformed(ActionEvent e) {
                        String password = new 
String(pfPassword.getPassword());
                        if(password =="milkyoreos201") {

                } 
            }
        });

        JButton btnGet = new JButton("Display Password");
        btnGet.addActionListener(
                new ActionListener() {

                    public void actionPerformed(ActionEvent e) {
                        String password = new 
String(pfPassword.getPassword());
                        JOptionPane.showMessageDialog(frame,
                                "Password is " + password);
                    }
                 });

        JPanel panel = new JPanel();
        panel.setLayout(new SpringLayout());

        panel.add(lblUser);
        panel.add(tfUser);
        panel.add(lblPassword);
        panel.add(pfPassword);
        panel.add(btnLogin);
        panel.add(btnGet);

        SpringUtilities.makeCompactGrid(panel,
                3, 2, //rows, cols
                6, 6, //initX, initY
                6, 6); //xPad, yPad

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 120);
        frame.getContentPane().add(panel);
        frame.setVisible(true);
    }
}

and this is the other class

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

public class SpringUtilities {
    public static void printSizes(Component c) {
        System.out.println("minimumSize = " + c.getMinimumSize());
        System.out.println("preferredSize = " + c.getPreferredSize());
        System.out.println("maximumSize = " + c.getMaximumSize());
    }

    public static void makeGrid(Container parent,
                                int rows, int cols,
                                int initialX, int initialY,
                                int xPad, int yPad) {
        SpringLayout layout;
        try {
             layout = (SpringLayout)parent.getLayout();
        } catch (ClassCastException exc) {
            System.err.println("The first argument to makeGrid must use 
SpringLayout.");
            return;
        }

        Spring xPadSpring = Spring.constant(xPad);
        Spring yPadSpring = Spring.constant(yPad);
        Spring initialXSpring = Spring.constant(initialX);
        Spring initialYSpring = Spring.constant(initialY);
        int max = rows * cols;

        Spring maxWidthSpring = 
layout.getConstraints(parent.getComponent(0)).
                                    getWidth();
        Spring maxHeightSpring = 
layout.getConstraints(parent.getComponent(0)).
                                    getWidth();
        for (int i = 1; i < max; i++) {
            SpringLayout.Constraints cons = layout.getConstraints(
                                            parent.getComponent(i));

            maxWidthSpring = Spring.max(maxWidthSpring, cons.getWidth());
            maxHeightSpring = Spring.max(maxHeightSpring, cons.getHeight());
        }

        for (int i = 0; i < max; i++) {
            SpringLayout.Constraints cons = layout.getConstraints(
                                            parent.getComponent(i));

            cons.setWidth(maxWidthSpring);
            cons.setHeight(maxHeightSpring);
        }

        SpringLayout.Constraints lastCons = null;
        SpringLayout.Constraints lastRowCons = null;
        for (int i = 0; i < max; i++) {
            SpringLayout.Constraints cons = layout.getConstraints(
                                                 parent.getComponent(i)); 
            if (i % cols == 0) { 
                lastRowCons = lastCons;
                cons.setX(initialXSpring);
            } else { 

cons.setX(Spring.sum(lastCons.getConstraint(SpringLayout.EAST),
                                     xPadSpring));
            }

            if (i / cols == 0) {
                cons.setY(initialYSpring);
            } else {

cons.setY(Spring.sum(lastRowCons.getConstraint(SpringLayout.SOUTH),
                                      yPadSpring));
            }
            lastCons = cons;
        }

        SpringLayout.Constraints pCons = layout.getConstraints(parent);
        pCons.setConstraint(SpringLayout.SOUTH,
                            Spring.sum(
                                Spring.constant(yPad),

lastCons.getConstraint(SpringLayout.SOUTH)));
        pCons.setConstraint(SpringLayout.EAST,
                            Spring.sum(
                                Spring.constant(xPad),
                                lastCons.getConstraint(SpringLayout.EAST)));
    }

    private static SpringLayout.Constraints getConstraintsForCell(
                                                int row, int col,
                                                Container parent,
                                                int cols) {
        SpringLayout layout = (SpringLayout) parent.getLayout();
        Component c = parent.getComponent(row * cols + col);
        return layout.getConstraints(c);
    }


    public static void makeCompactGrid(Container parent,
                                       int rows, int cols,
                                       int initialX, int initialY,
                                       int xPad, int yPad) {
        SpringLayout layout;
        try {
            layout = (SpringLayout)parent.getLayout();
        } catch (ClassCastException exc) {
            System.err.println("The first argument to makeCompactGrid must 
use SpringLayout.");
            return;
        }

        Spring x = Spring.constant(initialX);
        for (int c = 0; c < cols; c++) {
            Spring width = Spring.constant(0);
            for (int r = 0; r < rows; r++) {
                width = Spring.max(width,
                                    getConstraintsForCell(r, c, parent, 
cols).
                                       getWidth());
            }
            for (int r = 0; r < rows; r++) {
                SpringLayout.Constraints constraints =
                        getConstraintsForCell(r, c, parent, cols);
                constraints.setX(x);
                constraints.setWidth(width);
            }
            x = Spring.sum(x, Spring.sum(width, Spring.constant(xPad)));
        }

        Spring y = Spring.constant(initialY);
        for (int r = 0; r < rows; r++) {
            Spring height = Spring.constant(0);
            for (int c = 0; c < cols; c++) {
                height = Spring.max(height,
                                    getConstraintsForCell(r, c, parent, 
cols).
                                        getHeight());
            }
            for (int c = 0; c < cols; c++) {
                SpringLayout.Constraints constraints =
                        getConstraintsForCell(r, c, parent, cols);
                constraints.setY(y);
                constraints.setHeight(height);
            }
            y = Spring.sum(y, Spring.sum(height, Spring.constant(yPad)));
        }

        SpringLayout.Constraints pCons = layout.getConstraints(parent);
        pCons.setConstraint(SpringLayout.SOUTH, y);
        pCons.setConstraint(SpringLayout.EAST, x);
    }
}

this is my first time building a password gui, so sorry if i did a bunch of stuff incorrectly. i want this program to open up a dialog box, telling you info. when you type in the correct user name and password. i have everything except a specific user name and password, and i tried to make a dialog box, but it wouldn't appear.

Daniel
  • 63
  • 5
  • 1
    Issue #1 [How do I compare strings in Java?](https://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) – MadProgrammer Feb 18 '18 at 00:40
  • I would suggest you start with [How to Make Dialogs](https://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html). When the `actionListener` for the `btnLogin` is triggered, you need to create and show your login dialog. I would (highly) recommend making it a separate class, as it will simplify the process – MadProgrammer Feb 18 '18 at 00:42
  • For [example](https://stackoverflow.com/questions/13693776/java-gui-multiple-frames/13694083#13694083), [example](https://stackoverflow.com/questions/19644160/java-action-listeners-in-a-different-class-not-working/19651100#19651100), [example](https://stackoverflow.com/questions/33163252/change-password-using-jpasswordfield/33163782#33163782) and if your really want to scare yourself, [example](https://stackoverflow.com/questions/26517856/java-and-gui-where-do-actionlisteners-belong-according-to-mvc-pattern/26518274#26518274) – MadProgrammer Feb 18 '18 at 00:52
  • Possible duplicate of [How do I compare strings in Java?](https://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) – peacetype Feb 18 '18 at 02:59

0 Answers0