Ich arebite momentan an einem Log In System. Wenn das Programm startet, soll erstmal nur das Log-in Fenster erscheinen. Erst nach Benutzung eines Buttons, soll das Registration Fenster aufgehen. Ich habe das meiner Meinung nach auch genau so gecoded. Dennoch erscheint beim Start des Programms wie gewollt das Log In Fenster, aber auch das Registration Fenster (Bemerkung: es ist beim Start des Programms funktionslos. Erst wenn das Fenster durch den Button ein zweites mal geöffnet wird, hat es seine Funktion. Vielleicht ist das hilfreich für die Lösung des Problems)
Habe sämtliche Dinge probiert: Von Codezeilen löschen bis zu Umbennen von so gut wie allen Dingen. Ich komme einfach nicht darauf, was der Fehler ist.
Anmerkung: Die Klasse LaunchPage ist für das Login Fenster und RegisterWindow für das Registrationfenster
Mein Code:
Vielen Dank für jede Hilfe...
Habe sämtliche Dinge probiert: Von Codezeilen löschen bis zu Umbennen von so gut wie allen Dingen. Ich komme einfach nicht darauf, was der Fehler ist.
Anmerkung: Die Klasse LaunchPage ist für das Login Fenster und RegisterWindow für das Registrationfenster
Mein Code:
Java:
public class Main {
public static void main(String[] args) {
LaunchPage launch = new LaunchPage();
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class LaunchPage extends RegisterWindow implements Data, ActionListener {
JFrame frame = new JFrame();
JButton button = new JButton("Login");
JButton regbut = new JButton("R");
TextField password = new TextField();
TextField username = new TextField();
JPanel panelus = new JPanel();
JPanel panelpass = new JPanel();
JPanel panelsign = new JPanel();
JLabel labelus = new JLabel("Username");
JLabel labelpass = new JLabel("Password");
JLabel labelsign = new JLabel("Loginsystem");
LaunchPage(){
button.setBounds(100,230,200,40);
button.setFocusable(false);
button.addActionListener((ActionListener) this);
button.setBackground(Color.WHITE);
regbut.setBounds(329,240, 40,40);
regbut.setBackground(Color.white);
regbut.addActionListener(this);
regbut.setFocusable(false);
labelsign.setFont(new Font(" ", Font.BOLD, 50));
labelsign.setBackground(Color.black);
password.setBounds(140,180, 200,25);
password.setFont(new Font(" ", Font.BOLD,15));
username.setBounds(140,150, 200,25);
username.setFont(new Font(" ", Font.BOLD,15));
panelsign.setBounds(45, 30, 310,80);
panelsign.add(labelsign);
panelus.setBounds(40,150,120,25);
panelus.add(labelus);
panelpass.setBounds(40, 180, 120,25);
panelpass.add(labelpass);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(420,350);
frame.setLayout(null);
frame.add(button);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.add(password);
frame.add(username);
frame.add(panelus);
frame.add(panelpass);
frame.add(panelsign);
frame.add(regbut);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==button){
for(int i =0; i < data.size(); i++){
if(data.get(i).equals(username+ " "+ password)){
NewWindow window= new NewWindow();
frame.dispose();
System.out.println(dataid.get(counter-1));
}
}
}
if(e.getSource()==regbut){
RegisterWindow window = new RegisterWindow();
}
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class RegisterWindow implements ActionListener,Data{
int counter =0;
JFrame frame1 = new JFrame();
JTextField txtname = new JTextField();
JTextField txtpass = new JTextField();
JTextField txtpassrep = new JTextField();
JLabel labeluss = new JLabel("Username");
JLabel labelpasss = new JLabel("Password");
JLabel labelpasssrep = new JLabel("Repeat Password");
JPanel paneluss = new JPanel();
JPanel panelpasss = new JPanel();
JPanel panelpasssrep = new JPanel();
JLabel labelssign = new JLabel("Registration");
JPanel panelssign = new JPanel();
JButton buttton = new JButton("Register");
RegisterWindow(){
buttton.setBounds(100,250,200,40);
buttton.setFocusable(false);
buttton.addActionListener((ActionListener) this);
buttton.setBackground(Color.WHITE);
labelssign.setFont(new Font(" ", Font.BOLD, 50));
labelssign.setBackground(Color.black);
txtpass.setBounds(140,180, 200,25);
txtpass.setFont(new Font(" ", Font.BOLD,15));
txtname.setBounds(140,150, 200,25);
txtname.setFont(new Font(" ", Font.BOLD,15));
txtpassrep.setBounds(140,210, 200,25);
txtpassrep.setFont(new Font(" ", Font.BOLD,15));
paneluss.setBounds(40,150,120,25);
paneluss.add(labeluss);
panelpasss.setBounds(40, 180, 120,25);
panelpasss.add(labelpasss);
panelpasssrep.setBounds(16,210,130,25);
panelpasssrep.add(labelpasssrep);
panelssign.setBounds(45, 30, 310,80);
panelssign.add(labelssign);
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame1.setSize(420,350);
frame1.setLayout(null);
frame1.setLocationRelativeTo(null);
frame1.setVisible(true);
frame1.add(txtname);
frame1.add(txtpass);
frame1.add(txtpassrep);
frame1.add(paneluss);
frame1.add(panelpasss);
frame1.add(panelpasssrep);
frame1.add(panelssign);
frame1.add(buttton);
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("works");
if(e.getSource()==buttton){
if(txtpass.getText().equals(txtpassrep.getText())){
counter++;
data.add(counter-1, txtname.getText()+ " " + txtpass.getText());
dataid.add(counter-1, counter-1 + " " + txtname.getText());
for(String i : data){
System.out.println(i);
}
}
}
}
}
import javax.swing.*;
public class NewWindow {
JFrame frame = new JFrame();
JLabel label = new JLabel("hello");
NewWindow(){
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(420,420);
frame.setLayout(null);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}
}
import java.util.ArrayList;
import java.util.List;
public interface Data {
List<String> data = new ArrayList<>();
List <String> dataid = new ArrayList<>();
}
Vielen Dank für jede Hilfe...
Zuletzt bearbeitet: