Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package mice_interactive;
- import com.sun.glass.events.KeyEvent;
- import java.awt.Color;
- import javax.swing.JOptionPane;
- import oru.inf.InfDB;
- import oru.inf.InfException;
- /**
- *
- * @author Oliver
- */
- public class LogIn extends javax.swing.JFrame {
- private InfDB infDB;
- private String databas = System.getProperty("user.dir") + "\\MICEDB.FDB";
- /**
- * Konstruktorn kopplar upp dig mot databasen, sätter fönstret i mitten och
- * sätter bakgrundsfärgen till vit.
- */
- public LogIn() {
- initComponents();
- // Sätter fönstret i mitten av skärmen
- setLocationRelativeTo(null);
- //Sätter bakgrundsfärgen på fönstret till vit
- getContentPane().setBackground(Color.white);
- // Hämtar databasen och ger ett meddelande om uppkopplingen av databasen lyckades.
- try {
- infDB = new InfDB(databas);
- System.out.println("Uppkopplingen lyckades");
- } catch (InfException e) {
- System.out.println(e.getMessage());
- }
- }
- /**
- * This method is called from within the constructor to initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is always
- * regenerated by the Form Editor.
- */
- @SuppressWarnings("unchecked")
- // <editor-fold defaultstate="collapsed" desc="Generated Code">
- private void initComponents() {
- pfPassword = new javax.swing.JPasswordField();
- tfUsername = new javax.swing.JTextField();
- jlUsername = new javax.swing.JLabel();
- jlPassword = new javax.swing.JLabel();
- btnSignIn = new javax.swing.JButton();
- jlSignInLogo = new javax.swing.JLabel();
- btnSignInWithoutPassword = new javax.swing.JButton();
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- setBackground(new java.awt.Color(0, 255, 204));
- pfPassword.setText("Password");
- pfPassword.addFocusListener(new java.awt.event.FocusAdapter() {
- public void focusGained(java.awt.event.FocusEvent evt) {
- pfPasswordFocusGained(evt);
- }
- });
- pfPassword.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseClicked(java.awt.event.MouseEvent evt) {
- pfPasswordMouseClicked(evt);
- }
- });
- pfPassword.addKeyListener(new java.awt.event.KeyAdapter() {
- public void keyPressed(java.awt.event.KeyEvent evt) {
- pfPasswordKeyPressed(evt);
- }
- });
- tfUsername.setText("Username");
- tfUsername.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseClicked(java.awt.event.MouseEvent evt) {
- tfUsernameMouseClicked(evt);
- }
- });
- jlUsername.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
- jlUsername.setText("Username:");
- jlPassword.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
- jlPassword.setText("Password:");
- btnSignIn.setText("Sign in");
- btnSignIn.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseClicked(java.awt.event.MouseEvent evt) {
- btnSignInMouseClicked(evt);
- }
- });
- jlSignInLogo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/mice_interactive/MICE_SignIn_Logo.png"))); // NOI18N
- btnSignInWithoutPassword.setText("Sign in without password");
- btnSignInWithoutPassword.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseClicked(java.awt.event.MouseEvent evt) {
- btnSignInWithoutPasswordMouseClicked(evt);
- }
- });
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jlSignInLogo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addGroup(layout.createSequentialGroup()
- .addGap(187, 187, 187)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addComponent(btnSignIn, javax.swing.GroupLayout.PREFERRED_SIZE, 151, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(btnSignInWithoutPassword))
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jlUsername, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(tfUsername)
- .addComponent(jlPassword, javax.swing.GroupLayout.PREFERRED_SIZE, 66, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(pfPassword, javax.swing.GroupLayout.PREFERRED_SIZE, 195, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addGap(0, 0, Short.MAX_VALUE)))
- .addContainerGap())
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addComponent(jlSignInLogo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jlUsername)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(tfUsername, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(32, 32, 32)
- .addComponent(jlPassword)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(pfPassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(75, 75, 75)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(btnSignIn, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(btnSignInWithoutPassword, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap())
- );
- pack();
- }// </editor-fold>
- /**
- * Metod för att sätta textfältet till "" när man ställer sig i det.
- *
- * @param evt
- */
- private void tfUsernameMouseClicked(java.awt.event.MouseEvent evt) {
- if (tfUsername.getText().equals("Username")) {
- tfUsername.setText("");
- }
- }
- /**
- * Metod för att sätta lösenordsfältet till "" när man ställer sig i det.
- *
- * @param evt
- */
- private void pfPasswordMouseClicked(java.awt.event.MouseEvent evt) {
- if (pfPassword.getText().equals("Password")) {
- pfPassword.setText("");
- }
- }
- private void pfPasswordFocusGained(java.awt.event.FocusEvent evt) {
- if (pfPassword.getText().equals("Password")) {
- pfPassword.setText("");
- }
- }
- /**
- * Loggar in dig till programmet. Stämmer inte lösenordet så kommer det en
- * infobox med ett felmeddelande som säger att du ska prova med ett nytt
- * lösenord eller användarnamn.
- *
- * @param evt
- */
- private void btnSignInMouseClicked(java.awt.event.MouseEvent evt) {
- if (signIn()) {
- StartScreen startScreen = new StartScreen();
- startScreen.setVisible(true);
- dispose();
- } else {
- infoBox("Wrong password or username", "Error:");
- System.out.println("Felaktigt");
- }
- }
- /**
- * Gör samma sak som metoden ovan, fast den körs när "Enter" trycks. Stämmer
- * lösenordet så loggas du in och annars får du ett felmeddelande.
- *
- * @param evt
- */
- private void pfPasswordKeyPressed(java.awt.event.KeyEvent evt) {
- if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
- if (signIn()) {
- setVisible(false);
- StartScreen startScreen = new StartScreen();
- startScreen.setVisible(true);
- } else {
- infoBox("Wrong password or username", "Error:");
- System.out.println("Felaktigt");
- }
- }
- }
- /**
- * Loggar in användaren utan krav på något lösenord eller användarnamn.
- * Öppnar upp en annan startscreen än den vanliga, denna med vissa
- * permissions.
- *
- * @param evt
- */
- private void btnSignInWithoutPasswordMouseClicked(java.awt.event.MouseEvent evt) {
- StartScreenPermission start = new StartScreenPermission();
- start.setVisible(true);
- dispose();
- }
- /**
- * Metod som hämtar ett lösenord på databasen och jämför det med det
- * lösenord och användarnamn som skrivits in vid inloggning. Om lösenorden
- * stämmer överens returneras true och annars returneras false.
- *
- * @return
- */
- private boolean signIn() {
- boolean valid = false;
- //Hämtar ett lösenord i databasen på det användarnamn som skrivits in.
- String sqlFraga = "SELECT administrator.Losenord from administrator "
- + "JOIN anstalld "
- + "ON administrator.aid = anstalld.aid "
- + "WHERE anstalld.anvnamn = " + "'" + tfUsername.getText() + "'";
- try {
- String password = infDB.fetchSingle(sqlFraga);
- if (pfPassword.getText().equals(password)) {
- valid = true;
- }
- } catch (InfException e) {
- infoBox("Please try a Valid password and Username", "Error: Wrong password or username");
- System.out.println(e.getMessage());
- }
- return valid;
- }
- private void infoBox(String infoMessage, String titleBar) {
- JOptionPane.showMessageDialog(null, infoMessage, titleBar, WIDTH);
- }
- /**
- * Hämtar information om vilket lösenord som är kopplat till det som skrivs
- * in i användarnamnfältet.
- */
- public void passwordFraga() {
- String sqlFraga = "SELECT administrator.Losenord from administrator "
- + "JOIN anstalld"
- + "ON administrator.aid = anstalld.aid"
- + "WHERE anstalld.anvnamn = " + "'" + tfUsername.getText() + "'";
- }
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- /* Set the Nimbus look and feel */
- //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
- /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
- * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
- */
- try {
- for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
- if ("Nimbus".equals(info.getName())) {
- javax.swing.UIManager.setLookAndFeel(info.getClassName());
- break;
- }
- }
- } catch (ClassNotFoundException ex) {
- java.util.logging.Logger.getLogger(LogIn.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (InstantiationException ex) {
- java.util.logging.Logger.getLogger(LogIn.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (IllegalAccessException ex) {
- java.util.logging.Logger.getLogger(LogIn.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (javax.swing.UnsupportedLookAndFeelException ex) {
- java.util.logging.Logger.getLogger(LogIn.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- }
- //</editor-fold>
- /* Create and display the form */
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- new LogIn().setVisible(true);
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement