Avatar billede javagirl Nybegynder
15. november 2007 - 20:48 Der er 11 kommentarer og
1 løsning

Nybegynder: Hjælp til at lave et login vindue med password

Hejsa,

Jeg er helt ny på java fronten, og programmering i det hele taget.
Jeg er gået igang med en simpel opgave med er allerede gået istå desværre... Det første led i min opgave er at lave et login vindue til en enkelt bruger bare. Der skal ikke oprettes nye brugere. Håber der er nogen der har lyst til at hjælpe!

Jeg har oprettet en new public class kaldet Login og startet med at lave to textfields med tilhørende labels og en login-knap, og så er det så jeg allerede går i stå... jeg kan for det første ikke lige hitte ud af at få det til at fungere med passwordField og så ville jeg egentlig også gerne spørge om hvordan jeg, når det kommer til at virke med username og password, får kaldt en ny side frem når brugeren er logget ind??

Mvh Cat
Avatar billede _carsten Nybegynder
15. november 2007 - 20:59 #1
Her er et eksempel

public class Login extends javax.swing.JFrame {
   
    public Login() {
        initComponents();
    }
   
    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;

        jLabel1 = new javax.swing.JLabel();
        username = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();
        password = new javax.swing.JPasswordField();
        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        getContentPane().setLayout(new java.awt.GridBagLayout());

        jLabel1.setText("Brugernavn:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        getContentPane().add(jLabel1, gridBagConstraints);

        username.setColumns(10);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        getContentPane().add(username, gridBagConstraints);

        jLabel2.setText("Password:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        getContentPane().add(jLabel2, gridBagConstraints);

        password.setColumns(10);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        getContentPane().add(password, gridBagConstraints);

        jButton1.setText("Login");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                loginButton(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        getContentPane().add(jButton1, gridBagConstraints);

        pack();
    }/

    private void loginButton(java.awt.event.ActionEvent evt) {
        System.out.println("Brugernavnet er:\t" +username.getText());
        System.out.println("Brugers password:\t" + new String(password.getPassword()).toString());
    }
   

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Login().setVisible(true);
            }
        });
    }
   
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JPasswordField password;
    private javax.swing.JTextField username;
}
Avatar billede _carsten Nybegynder
15. november 2007 - 20:59 #2
Denne giver ikke compilefejl

public class Login extends javax.swing.JFrame {
   
    public Login() {
        initComponents();
    }
   
    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;

        jLabel1 = new javax.swing.JLabel();
        username = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();
        password = new javax.swing.JPasswordField();
        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        getContentPane().setLayout(new java.awt.GridBagLayout());

        jLabel1.setText("Brugernavn:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        getContentPane().add(jLabel1, gridBagConstraints);

        username.setColumns(10);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        getContentPane().add(username, gridBagConstraints);

        jLabel2.setText("Password:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        getContentPane().add(jLabel2, gridBagConstraints);

        password.setColumns(10);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        getContentPane().add(password, gridBagConstraints);

        jButton1.setText("Login");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                loginButton(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        getContentPane().add(jButton1, gridBagConstraints);

        pack();
    }

    private void loginButton(java.awt.event.ActionEvent evt) {
        System.out.println("Brugernavnet er:\t" +username.getText());
        System.out.println("Brugers password:\t" + new String(password.getPassword()).toString());
    }
   

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Login().setVisible(true);
            }
        });
    }
   
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JPasswordField password;
    private javax.swing.JTextField username;
}
Avatar billede arne_v Ekspert
15. november 2007 - 21:00 #3
Vi snakker om en desktop app - enten AWT (Frame og TextField) eller Swing (JFrame of JTextField) ?
Avatar billede javagirl Nybegynder
15. november 2007 - 21:03 #4
Hej Carsten,

Mange tak for det, det var godt nok et hurtigt svar må jeg sige! Så må jeg lige se om jeg kan forstå det :-)
Avatar billede javagirl Nybegynder
15. november 2007 - 21:05 #5
Hej Arne V,

Ja vi snakker bare om en desktop app. Nu har Carsten lagt et svar med Swing kan jeg se, hvis du har en læsning med awt er jeg meget interesseret i at se den... er ikke helt klar på forskellen nemlig :-)
Avatar billede javagirl Nybegynder
15. november 2007 - 21:06 #6
læsning = løsning.. kan vidst ikke stave idag :-)
Avatar billede _carsten Nybegynder
15. november 2007 - 21:23 #7
Jeg har på Arne's vegne tilladt mig at lave AWT versionen

public class Login extends java.awt.Frame {

    public Login() {
        initComponents();
    }

    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;

        jLabel1 = new java.awt.Label();
        username = new java.awt.TextField();
        jLabel2 = new java.awt.Label();
        password = new java.awt.TextField();
        password.setEchoChar('*');
        jButton1 = new java.awt.Button();

        setLayout(new java.awt.GridBagLayout());

        jLabel1.setText("Brugernavn:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        add(jLabel1, gridBagConstraints);

        username.setColumns(10);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        add(username, gridBagConstraints);

        jLabel2.setText("Password:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        add(jLabel2, gridBagConstraints);

        password.setColumns(10);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        add(password, gridBagConstraints);

        jButton1.setLabel("Login");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                loginButton(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        add(jButton1, gridBagConstraints);

        pack();
    }

    private void loginButton(java.awt.event.ActionEvent evt) {
        System.out.println("Brugernavnet er:\t" +username.getText());
        System.out.println("Brugers password:\t" + new String(password.getText()).toString());
    }


    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Login().setVisible(true);
            }
        });
    }

    private java.awt.Button jButton1;
    private java.awt.Label jLabel1;
    private java.awt.Label jLabel2;
    private java.awt.TextField password;
    private java.awt.TextField username;
}
Avatar billede neoman Novice
15. november 2007 - 21:26 #8
15/11-2007 21:05:47 - har lige stillet mig selv det samme spørgsmål, og fandt dette svar

http://forum.java.sun.com/thread.jspa?threadID=271579&messageID=1044844
Avatar billede _carsten Nybegynder
15. november 2007 - 21:43 #9
AWT komponenter har de medfødte native ressourcer som gør at de kan vises på skærmen, derfor kaldes AWT komponenter også for heavyweight komponenter, og Swing kaldes lightweight komponenter.

For at Swing komponenter kan vises på skærmen, LÅNER de disse ressourcer fra deres nærmeste AWT komponent, som kunne være en Frame, JFrame, Applet etc.

Kort sagt.
AWT komponenter har det tunge grej som skal til, Swing komponenter nøjes med at låne !

Læs evt. her:
http://java.sun.com/products/jfc/tsc/articles/mixing/index.html
Avatar billede javagirl Nybegynder
15. november 2007 - 21:50 #10
Tusind tak Carsten, det er godt nok noget tungt at komme igennem, men jeg arbejder på det... havde håbet det var mere simpelt, men jeg klarer det jo nok :-) Og mange tak for de enormt hurtige svar!!

Mvh Cat

Ps. Er også ny i dette forum - hvordan giver man dig de point jeg skylder dig? Jeg har trykket på accepter, men synes ikke der er sket noget... :-)
Avatar billede _carsten Nybegynder
15. november 2007 - 21:55 #11
Det er fordi jeg ikke har lagt noget svar endnu, men det gør jeg her

Marker mit navn og tryk "accepter" :)
Avatar billede javagirl Nybegynder
15. november 2007 - 22:13 #12
Aha, ja så forstår jeg bedre :-) Nu skulle det også være ordnet. Tusind tak for hjælpen!
Go aften,

Cat
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester