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

  1. package MeinBudgetView;
  2. import java.awt.BorderLayout;
  3. import java.awt.EventQueue;
  4. import java.awt.Font;
  5. import java.awt.Image;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8. import java.awt.event.KeyEvent;
  9. import java.awt.event.KeyListener;
  10. import javax.swing.JFrame;
  11. import javax.swing.JPanel;
  12. import javax.swing.border.EmptyBorder;
  13. import javax.swing.ImageIcon;
  14. import javax.swing.JButton;
  15. import javax.swing.JPasswordField;
  16. import javax.swing.JTextField;
  17. import javax.swing.JLabel;
  18. import javax.swing.JOptionPane;
  19. import java.awt.Color;
  20. public class LoginFrame extends JFrame implements ActionListener, KeyListener {
  21. public JPanel contentPane;
  22. public static JPasswordField passwordField;
  23. public static JTextField benutzername;
  24. public JButton anmelden;
  25. public LoginFrame() {
  26. setTitle("Anmelden");
  27. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  28. setBounds(100, 100, 450, 300);
  29. contentPane = new JPanel();
  30. contentPane.setBackground(Color.orange);
  31. contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  32. setContentPane(contentPane);
  33. contentPane.setLayout(null);
  34. anmelden = new JButton("Anmelden");
  35. anmelden.setBounds(182, 168, 97, 23);
  36. contentPane.add(anmelden);
  37. passwordField = new JPasswordField();
  38. passwordField.setBounds(147, 137, 132, 20);
  39. contentPane.add(passwordField);
  40. benutzername = new JTextField();
  41. benutzername.setBounds(147, 106, 132, 20);
  42. contentPane.add(benutzername);
  43. benutzername.setColumns(10);
  44. JLabel labaelBenutzername = new JLabel("Benutzername:");
  45. labaelBenutzername.setBounds(48, 106, 89, 20);
  46. contentPane.add(labaelBenutzername);
  47. JLabel labelPassword = new JLabel("Password: ");
  48. labelPassword.setBounds(61, 140, 76, 14);
  49. contentPane.add(labelPassword);
  50. JLabel loginImage = new JLabel("");
  51. loginImage.setBounds(313, 106, 56, 51);
  52. Image image1 = new ImageIcon(this.getClass().getResource("/login-icon.png")).getImage();
  53. loginImage.setIcon(new ImageIcon(image1));
  54. loginImage.setFont(new Font("Tahoma", Font.BOLD, 13));
  55. contentPane.add(loginImage);
  56. JLabel loginHauptImage = new JLabel("");
  57. loginHauptImage.setBounds(10, 11, 56, 51);
  58. Image image2 = new ImageIcon(this.getClass().getResource("/budgetapp.png")).getImage();
  59. loginHauptImage.setIcon(new ImageIcon(image2));
  60. loginHauptImage.setFont(new Font("Tahoma", Font.BOLD, 13));
  61. contentPane.add(loginHauptImage);
  62. JLabel lblNewLabel_1 = new JLabel("F5: exit");
  63. lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 11));
  64. lblNewLabel_1.setBounds(342, 213, 82, 14);
  65. contentPane.add(lblNewLabel_1);
  66. this.anmelden.addActionListener(this);
  67. passwordField.addActionListener(this);
  68. benutzername.addActionListener(this);
  69. this.anmelden.addKeyListener(this);
  70. benutzername.addKeyListener(this);
  71. passwordField.addKeyListener(this);
  72. }
  73. @Override
  74. public void actionPerformed(ActionEvent ae) {
  75. if (ae.getSource() == this.anmelden
  76. && (benutzername.getText().length() == 0 || passwordField.getText().length() == 0)) {
  77. JOptionPane.showMessageDialog(anmelden, "Bitte geben Sie die richtigen Daten ein!");
  78. }
  79. if (ae.getSource() == this.anmelden && benutzername.getText() != setBenutzername("admin")
  80. && passwordField.getText() != setPassword("admin")) {
  81. MeinGui run = new MeinGui();
  82. run.setVisible(true);
  83. }
  84. }
  85. protected static String setBenutzername(String benutzername) {
  86. return benutzername;
  87. }
  88. protected static String setPassword(String password) {
  89. return password;
  90. }
  91. @Override
  92. public void keyTyped(KeyEvent e) {
  93. // TODO Auto-generated method stub
  94. }
  95. @Override
  96. public void keyPressed(KeyEvent e) {
  97. if (e.getKeyCode() == KeyEvent.VK_ENTER) {
  98. if (benutzername.getText().contentEquals(setBenutzername("admin"))
  99. && passwordField.getText().equals(setPassword("admin"))) {
  100. MeinGui run = new MeinGui();
  101. run.setVisible(true);
  102. } else {
  103. JOptionPane.showMessageDialog(this.anmelden, "Bitte geben Sie die richtigen Daten ein!");
  104. }
  105. }
  106. if (e.getKeyCode() == KeyEvent.VK_F5) {
  107. System.exit(0);
  108. }
  109. if (e.getKeyCode() == KeyEvent.VK_DELETE) {
  110. benutzername.setText(benutzernameUndPasswordLeeren());
  111. passwordField.setText(benutzernameUndPasswordLeeren());
  112. }
  113. }
  114. @Override
  115. public void keyReleased(KeyEvent e) {
  116. // TODO Auto-generated method stub
  117. }
  118. public static String benutzernameUndPasswordLeeren() {
  119. return "";
  120. }
  121. }