2017-05-11 2 views
-1

Ich bin ein Anfänger bei Java, also, wenn es einige einfache Probleme gibt, die in meinem Code sind, sag mir bitte. Vielen Dank im Voraus!Wie erstellt man eine Sperre mit Benutzereingaben auf JPanel?

In Java habe ich eine "Login" JPanel, die ich möchte, dass der Benutzer ein Passwort eingibt, das sie mögen, dann lassen sie das Passwort auf einem anderen JPanel eingeben (dasselbe Passwort, das sie erstellt haben). Wenn es richtig ist und sie erneut auf die Login-Schaltfläche klicken, werden sie auf einen Bildschirm mit der Aufschrift "Willkommen" gebracht, und wenn nicht, erscheint ein Bildschirm mit der Aufschrift "Falsch. Fehler". Etwas auf Eclipse sagt jedoch, dass etwas nicht stimmt und ich es nicht ausführen kann. Bitte sag mir, wo ich falsch gelaufen bin und ob du mir sagen kannst, wie ich es beheben kann. Ich würde es schätzen!

Es gibt zwei Probleme mit meinem Code. Beide sind „Syntaxfehler, einfügen‚}‘vervollständigen ClassBody“, aber jedes Mal, wenn ich hinzufügen, ein in, es sagt „Syntaxfehler auf Token‚}‘, löschen Sie dieses Token“

Hier ist mein Code:

package Button; 

import java.awt.Dimension; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.util.Scanner; 

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JPasswordField; 
import javax.swing.JTextField; 

import java.util.Scanner; 

@SuppressWarnings("unused") 
public class Login { 

public static void main(String[] args) { 
    JFrame frame = new JFrame("Login Page"); 
    frame.setSize(300, 150); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    JPanel panel = new JPanel(); 
    frame.add(panel); 
    placeComponents(panel); 

    frame.setVisible(true); 

} 


private static void placeComponents(JPanel panel) { 

    panel.setLayout(null); 

    JLabel userLabel = new JLabel("Pasword"); 
    userLabel.setBounds(10, 10, 80, 25); 
    panel.add(userLabel); 

    JTextField userText = new JTextField(20); 
    userText.setBounds(100, 10, 160, 25); 
    panel.add(userText); 





    JButton loginButton = new JButton("Create"); 
    loginButton.setBounds(10, 80, 80, 25); 
    panel.add(loginButton); 


@SuppressWarnings("resource") 
    Scanner user = new Scanner (System.in); 

    loginButton.addActionListener(new ActionListener() 
    { 
     public void actionPerformed(ActionEvent e) { 

      loginButton.setVisible(false); 

      registerButton.setVisible(false); 

      userText.setVisible(false); 

      userLabel.setVisible(false); 

      JTextField userText1 = new JTextField(20); 
      userText.setBounds(100, 10, 160, 25); 
      panel.add(userText1); 

      JButton loginButton1 = new JButton("Password"); 
      loginButton1.setBounds(10, 80, 80, 25); 
      panel.add(loginButton1); 



     }); 



     loginButton1.addActionListener(new ActionListener() 
     { 
      public void actionPerformed(ActionEvent e) {    

       String name = userText.getText(); 
       String accept = name; 
       String good;   

     if (accept.equals(name)) { 
      good = "Welcome"; 

     } else { 
      good = "False. Error"; 
     }    


     JLabel label1 = new JLabel(good); 
     label1.setBounds(100, 40, 100, 100); 
     label1.setVisible(true); 


     panel.add(label1); 





     } 
     }); 
} 
+0

'" Aber etwas auf Eclipse sagt, dass etwas nicht stimmt und dass ich es nicht ausführen kann "- am besten für Sie, um alle und alle Fehlermeldungen zu posten. –

+0

Vielen Dank für die Beratung! Ich habe versucht zu posten, was ich getan habe und was passiert ist. –

+1

Wählen Sie, um Frage zu schließen, da es wenig mehr als ein Tippfehler ist. Ich muss mich fragen, ob Sie den Wagen vor dem Pferd bekommen - lernen Sie die Grundlagen von Java, bevor Sie an GUI-Sachen arbeiten - Sie werden es nicht bereuen, dies zu tun. –

Antwort

1
loginButton.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
     //... 
    } 

    ); 

eine Schließ Umarmung fehlt (}) - eine Sache, die Sie zu tun, werden Sie lernen, ist, Klammern Zahl und Zahnspange

Es ist wie

loginButton.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
     //... 
    } 
}); 
mehr aussehen sollte

registerButton und loginButton1 sind nicht definiert und Sie scheinen am Ende der Datei als auch

Ich würde auch empfehlen, dass Sie die Verwendung von Layout-Managern zu machen, werden sie viel machen das Leben fehlen schließende Klammer (}) werden einfacher für dich. Ich würde empfehlen, mit How to use CardLayout beginnen, da es Ihnen erlaubt, zwischen mehreren Ansichten zu wechseln einfach

+0

Ich habe versucht, das zu tun, aber ein Problem taucht auf. „Syntaxfehler, einfügen‚‘Statement abzuschließen“ auf dieser Linie: \t loginButton1.addActionListener (neue Action() –

+0

dann bist du es falsch zu machen Alle ich tat, war genau das, was ich oben geschrieben habe und es beschlossen, die erste Ausgabe. – MadProgrammer

+0

Eigentlich bist du richtig! Das nvm, das Problem ist behoben. Danke! –

0

Danke für das Helfen ich das Problem zu beheben. Am Ende konnte ich es beheben und es funktioniert jetzt. Hier ist es:

package Button; 

import java.awt.Dimension; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.util.Scanner; 

import javax.swing.AbstractButton; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JPasswordField; 
import javax.swing.JTextField; 

import java.util.Scanner; 

@SuppressWarnings("unused") 
public class AddOnButton { 

public static void main(String[] args) { 
    JFrame frame = new JFrame("Login Page"); 
    frame.setSize(300, 150); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

    JPanel panel = new JPanel(); 
    frame.add(panel); 
    placeComponents(panel); 

    frame.setVisible(true); 

} 


private static void placeComponents(JPanel panel) { 

    panel.setLayout(null); 

    JLabel userLabel = new JLabel("Password"); 
    userLabel.setBounds(10, 10, 80, 25); 
    panel.add(userLabel); 

    JTextField userText = new JTextField(20); 
    userText.setBounds(100, 10, 160, 25); 
    panel.add(userText); 

    JButton loginButton = new JButton("Create"); 
    loginButton.setBounds(10, 80, 80, 25); 
    panel.add(loginButton); 

    String name = userText.getText(); 

    loginButton.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 

      loginButton.setVisible(false); 

      userText.setVisible(false); 

      userLabel.setVisible(false); 

      JTextField userText1 = new JTextField(20); 
      userText1.setBounds(100, 10, 160, 25); 
      panel.add(userText1); 

      JLabel userLabel1 = new JLabel("Password"); 
      userLabel1.setBounds(10, 10, 80, 25); 
      panel.add(userLabel1); 

      JButton loginButton1 = new JButton("Enter"); 
      loginButton1.setBounds(10, 80, 80, 25); 
      panel.add(loginButton1); 

      String check = userText1.getText();  

     loginButton1.addActionListener(new ActionListener() {   
      public void actionPerformed(ActionEvent e) {    

      userText1.setVisible(false); 

      userLabel1.setVisible(false); 

      loginButton1.setVisible(false); 

     String good;   

     if (name.equals(check)) { 
      good = "Welcome"; 

     } else { 
      good = "False. Error"; 
     }    


     JLabel label1 = new JLabel(good); 
     label1.setBounds(100, 40, 100, 100); 
     label1.setVisible(true); 


     panel.add(label1); 

       } 

     }); 
     } 
    }); 
} 
} 
Verwandte Themen