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 F5_ExitLabel = new JLabel("F5: exit"); F5_ExitLabel.setFont(new Font("Tahoma", Font.BOLD, 11)); F5_ExitLabel.setBounds(342, 237, 82, 14); contentPane.add(F5_ExitLabel); JLabel entfLeerenLabel = new JLabel("Entf: Leeren\r\n"); entfLeerenLabel.setFont(new Font("Tahoma", Font.BOLD, 11)); entfLeerenLabel.setBounds(342, 223, 82, 14); contentPane.add(entfLeerenLabel); 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 ""; } }