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.

154 lines
4.5 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 F5_ExitLabel = new JLabel("F5: exit");
  63. F5_ExitLabel.setFont(new Font("Tahoma", Font.BOLD, 11));
  64. F5_ExitLabel.setBounds(342, 237, 82, 14);
  65. contentPane.add(F5_ExitLabel);
  66. JLabel entfLeerenLabel = new JLabel("Entf: Leeren\r\n");
  67. entfLeerenLabel.setFont(new Font("Tahoma", Font.BOLD, 11));
  68. entfLeerenLabel.setBounds(342, 223, 82, 14);
  69. contentPane.add(entfLeerenLabel);
  70. this.anmelden.addActionListener(this);
  71. passwordField.addActionListener(this);
  72. benutzername.addActionListener(this);
  73. this.anmelden.addKeyListener(this);
  74. benutzername.addKeyListener(this);
  75. passwordField.addKeyListener(this);
  76. }
  77. @Override
  78. public void actionPerformed(ActionEvent ae) {
  79. if (ae.getSource() == this.anmelden
  80. && (benutzername.getText().length() == 0 || passwordField.getText().length() == 0)) {
  81. JOptionPane.showMessageDialog(anmelden, "Bitte geben Sie die richtigen Daten ein!");
  82. }
  83. if (ae.getSource() == this.anmelden && benutzername.getText() != setBenutzername("admin")
  84. && passwordField.getText() != setPassword("admin")) {
  85. MeinGui run = new MeinGui();
  86. run.setVisible(true);
  87. }
  88. }
  89. protected static String setBenutzername(String benutzername) {
  90. return benutzername;
  91. }
  92. protected static String setPassword(String password) {
  93. return password;
  94. }
  95. @Override
  96. public void keyTyped(KeyEvent e) {
  97. // TODO Auto-generated method stub
  98. }
  99. @Override
  100. public void keyPressed(KeyEvent e) {
  101. if (e.getKeyCode() == KeyEvent.VK_ENTER) {
  102. if (benutzername.getText().contentEquals(setBenutzername("admin"))
  103. && passwordField.getText().equals(setPassword("admin"))) {
  104. MeinGui run = new MeinGui();
  105. run.setVisible(true);
  106. } else {
  107. JOptionPane.showMessageDialog(this.anmelden, "Bitte geben Sie die richtigen Daten ein!");
  108. }
  109. }
  110. if (e.getKeyCode() == KeyEvent.VK_F5) {
  111. System.exit(0);
  112. }
  113. if (e.getKeyCode() == KeyEvent.VK_DELETE) {
  114. benutzername.setText(benutzernameUndPasswordLeeren());
  115. passwordField.setText(benutzernameUndPasswordLeeren());
  116. }
  117. }
  118. @Override
  119. public void keyReleased(KeyEvent e) {
  120. // TODO Auto-generated method stub
  121. }
  122. public static String benutzernameUndPasswordLeeren() {
  123. return "";
  124. }
  125. }