You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

149 lines
4.3 KiB

package MeinBudgetView;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import java.awt.Color;
public class LoginFrame extends JFrame implements ActionListener, KeyListener {
public JPanel contentPane;
public static JPasswordField passwordField;
public static JTextField benutzername;
public JButton anmelden;
public LoginFrame() {
setTitle("Anmelden");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBackground(Color.orange);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
anmelden = new JButton("Anmelden");
anmelden.setBounds(182, 168, 97, 23);
contentPane.add(anmelden);
passwordField = new JPasswordField();
passwordField.setBounds(147, 137, 132, 20);
contentPane.add(passwordField);
benutzername = new JTextField();
benutzername.setBounds(147, 106, 132, 20);
contentPane.add(benutzername);
benutzername.setColumns(10);
JLabel labaelBenutzername = new JLabel("Benutzername:");
labaelBenutzername.setBounds(48, 106, 89, 20);
contentPane.add(labaelBenutzername);
JLabel labelPassword = new JLabel("Password: ");
labelPassword.setBounds(61, 140, 76, 14);
contentPane.add(labelPassword);
JLabel loginImage = new JLabel("");
loginImage.setBounds(313, 106, 56, 51);
Image image1 = new ImageIcon(this.getClass().getResource("/login-icon.png")).getImage();
loginImage.setIcon(new ImageIcon(image1));
loginImage.setFont(new Font("Tahoma", Font.BOLD, 13));
contentPane.add(loginImage);
JLabel loginHauptImage = new JLabel("");
loginHauptImage.setBounds(10, 11, 56, 51);
Image image2 = new ImageIcon(this.getClass().getResource("/budgetapp.png")).getImage();
loginHauptImage.setIcon(new ImageIcon(image2));
loginHauptImage.setFont(new Font("Tahoma", Font.BOLD, 13));
contentPane.add(loginHauptImage);
JLabel lblNewLabel_1 = new JLabel("F5: exit");
lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 11));
lblNewLabel_1.setBounds(342, 213, 82, 14);
contentPane.add(lblNewLabel_1);
this.anmelden.addActionListener(this);
passwordField.addActionListener(this);
benutzername.addActionListener(this);
this.anmelden.addKeyListener(this);
benutzername.addKeyListener(this);
passwordField.addKeyListener(this);
}
@Override
public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == this.anmelden
&& (benutzername.getText().length() == 0 || passwordField.getText().length() == 0)) {
JOptionPane.showMessageDialog(anmelden, "Bitte geben Sie die richtigen Daten ein!");
}
if (ae.getSource() == this.anmelden && benutzername.getText() != setBenutzername("admin")
&& passwordField.getText() != setPassword("admin")) {
MeinGui run = new MeinGui();
run.setVisible(true);
}
}
protected static String setBenutzername(String benutzername) {
return benutzername;
}
protected static String setPassword(String password) {
return password;
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
if (benutzername.getText().contentEquals(setBenutzername("admin"))
&& passwordField.getText().equals(setPassword("admin"))) {
MeinGui run = new MeinGui();
run.setVisible(true);
} else {
JOptionPane.showMessageDialog(this.anmelden, "Bitte geben Sie die richtigen Daten ein!");
}
}
if (e.getKeyCode() == KeyEvent.VK_F5) {
System.exit(0);
}
if (e.getKeyCode() == KeyEvent.VK_DELETE) {
benutzername.setText(benutzernameUndPasswordLeeren());
passwordField.setText(benutzernameUndPasswordLeeren());
}
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
public static String benutzernameUndPasswordLeeren() {
return "";
}
}