Hallo,
ich habe eine Frage bezüglich meines Projekts.
Ich bin totaler Anfänger, was das Coden betrifft. Seid nicht mehr als einer Woche versuche ich es mit Java. Es gibt mehr als genug Inhalte zum Erlernen der Sprache und so taste ich mich Stück für Stück vor. Ich habe bereits ein eigenes Projekt gestartet. Hier stoße ich vermehrt auf das Problem, dass es ein Haufen an Möglichkeit gibt, sein Projekt zu coden.
Ich versuche von Beginn an mit Klassen zu arbeiten. Hier ergibt sich bei mir folgendes Problem:
Ich würde gerne von der Klasse AccErstellFrame ein Objekt der Klasse AnmeldeFrame schließen.
Die erste Klasse (Anmeldung) mit Button zur Erstellung eines Benutzeraccount. (Keine sinnvollen Funktionen / Neue Daten werde nicht gespeichert etc.)
Passwortabfrage Klartext etc.. Soll für mich aber erstmal ausreichen.
Zweite Klasse:
Bei dem ActionListener lässt sich nicht auf die Anmeldebox zugreifen. Also auch nicht durch .dispose() schließen.
Main class:
Ich bin seit vier Tagen dabei.. deswegen begreife ich noch viele Zusammenhänge nicht. Vieles dient hier auch erstmal als Platzhalter bis ich die Theorie dazu lerne/ mich damit befasse. Ich könnte jetzt mit Settern und Boolean werten so lange herumbasteln, dass ich vermutlich das LoginFrame auf setVisible(false) kriegen würde, aber ist das wirklich der beste eleganteste Weg oder soll ich mich jetzt noch gar nicht mit einer sinnvollen Struktur befassen?
ich habe eine Frage bezüglich meines Projekts.
Ich bin totaler Anfänger, was das Coden betrifft. Seid nicht mehr als einer Woche versuche ich es mit Java. Es gibt mehr als genug Inhalte zum Erlernen der Sprache und so taste ich mich Stück für Stück vor. Ich habe bereits ein eigenes Projekt gestartet. Hier stoße ich vermehrt auf das Problem, dass es ein Haufen an Möglichkeit gibt, sein Projekt zu coden.
Ich versuche von Beginn an mit Klassen zu arbeiten. Hier ergibt sich bei mir folgendes Problem:
Ich würde gerne von der Klasse AccErstellFrame ein Objekt der Klasse AnmeldeFrame schließen.
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class AnmeldeFrame extends StandartFrame {
private JTextField namePwBoxTextfield;
private JTextField pwBoxTextfield;
private JButton pwButton;
private JButton creatAccButton;
public AnmeldeFrame() {
setTitle("Loggin");
setSize(350, 550);
setBounds(28, 165, 350, 550);
setForeground(Color.white);
initOperation();
add(namePwBoxTextfield);
add(pwBoxTextfield);
add(pwButton);
add(creatAccButton);
setVisible(true);
}
public void initOperation(){
DerHandlerAnmeldeBox derHandlerAnmeldeBox = new DerHandlerAnmeldeBox();
namePwBoxTextfield = new JTextField();
namePwBoxTextfield.setBounds(25, 200, 300, 40);
namePwBoxTextfield.setBackground(new Color(43, 43, 58));
namePwBoxTextfield.setForeground(Color.white);
pwBoxTextfield = new JTextField();
pwBoxTextfield.setBounds(25, 250, 300, 40);
pwBoxTextfield.setBackground(new Color(43, 43, 58));
pwBoxTextfield.setForeground(Color.white);
pwButton = new JButton("Go");
pwButton.setBounds(20, 310, 310, 45);
pwButton.setForeground(Color.BLACK);
pwButton.addActionListener(derHandlerAnmeldeBox);
creatAccButton = new JButton("Neuer Account");
creatAccButton.setBounds(20, 370, 310, 45);
creatAccButton.addActionListener(derHandlerAnmeldeBox);
}
private class DerHandlerAnmeldeBox implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource()==pwButton){
String nameFromTextfield = namePwBoxTextfield.getText();
String pwFromTextfield = pwBoxTextfield.getText();
if (nameFromTextfield.equals("Chief1") && pwFromTextfield.equals("nunde")){
dispose();
// Open MultiBox
}
} if (e.getSource()== creatAccButton){
// Open CreatBox
AccErstellFrame accErstellFrame = new AccErstellFrame();
}
}
}
}
Die erste Klasse (Anmeldung) mit Button zur Erstellung eines Benutzeraccount. (Keine sinnvollen Funktionen / Neue Daten werde nicht gespeichert etc.)
Passwortabfrage Klartext etc.. Soll für mich aber erstmal ausreichen.
Zweite Klasse:
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class AccErstellFrame extends StandartFrame {
private JTextField creatAccUserNameTextfield;
private JTextField creatAccUserPwTextField;
private JButton creatAccountButton;
public AccErstellFrame(){
setTitle("Neuer Benutzer");
setSize(350, 300);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setForeground(Color.white);
initOperation();
add(creatAccUserNameTextfield);
add(creatAccUserPwTextField);
add(creatAccountButton);
setVisible(true);
}
public void initOperation() {
creatAccUserNameTextfield = new JTextField("Benutzername");
creatAccUserNameTextfield.setBounds(25, 65, 300, 40);
creatAccUserNameTextfield.setBackground(new Color(43, 43, 58));
creatAccUserNameTextfield.setForeground(Color.white);
creatAccUserPwTextField = new JTextField("Passwort");
creatAccUserPwTextField.setBounds(25, 115, 300, 40);
creatAccUserPwTextField.setBackground(new Color(43, 43, 58));
creatAccUserPwTextField.setForeground(Color.white);
creatAccountButton = new JButton("Bestätigen");
creatAccountButton.setBounds(25, 175, 310, 45);
creatAccountButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
String newUserName = "";
String newUserPw = "";
newUserName = creatAccUserNameTextfield.getText();
newUserPw = creatAccUserPwTextField.getText();
if (newUserName.length() >= 7 && newUserPw.length() >= 7) {
// Öffne die MultiBox && Schließ das Anmeldefenster.
MultiBoxFrame multiBoxFrame = new MultiBoxFrame();
anmeldeFrame.dispose();
}
} catch (Exception ex) {
//
}
}
});
}
}
Bei dem ActionListener lässt sich nicht auf die Anmeldebox zugreifen. Also auch nicht durch .dispose() schließen.
Main class:
Java:
import javax.swing.*;
public class Main {
// static JLabel pwBoxLabel = new JLabel("Bitte geben Sie Ihre Anmeldedaten ein:");
public static void main(String[] args) {
AnmeldeFrame anmeldeFrame = new AnmeldeFrame();
}
}
Ich bin seit vier Tagen dabei.. deswegen begreife ich noch viele Zusammenhänge nicht. Vieles dient hier auch erstmal als Platzhalter bis ich die Theorie dazu lerne/ mich damit befasse. Ich könnte jetzt mit Settern und Boolean werten so lange herumbasteln, dass ich vermutlich das LoginFrame auf setVisible(false) kriegen würde, aber ist das wirklich der beste eleganteste Weg oder soll ich mich jetzt noch gar nicht mit einer sinnvollen Struktur befassen?