Swing App : Login mit JDBC

anyname

Grünschnabel
hallo

ich suche ein Beispiel von einem kompletten Swing App zum Einloggen, also das Swing App soll ein JPanel mit Username und Password Felder haben, wenn ein Benutzer auf dem Login Button klickt vergleicht das System die eingegebenen Daten in Database
 
Hier mal ein Anfang :D

Java:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

/**
 * 
 */

/**
 * @author Admin
 *
 */
public class login {
	
	private JFrame a=new JFrame();
	private BorderLayout bL=new BorderLayout();
	private JPanel b=new JPanel(),c=new JPanel();
	private JButton d=new JButton("Login");
	private JTextField e=new JTextField("Username",20),f=new JTextField("Password",20);
	public login(){
		a.setSize(250, 130);
		a.setLayout(bL);
		b.add(e);
		b.add(f);
		c.add(d);
		e.setToolTipText("Username");
		f.setToolTipText("Password");
		e.addFocusListener(new FocusListener() {
		    public void focusGained(FocusEvent er) {
		         e.setText("");
		    }

		    public void focusLost(FocusEvent e) {
		        // nothing
		    }
		});
		f.addFocusListener(new FocusListener() {
		    public void focusGained(FocusEvent e) {
		        f.setText("");
		    }

			@Override
			public void focusLost(FocusEvent arg0) {
				// TODO Auto-generated method stub
				
			}
		});
		d.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent er) {
				a.remove(bL.getLayoutComponent(BorderLayout.CENTER));
				if(logindb(e.getText().toString(),f.getText().toString()))
					a.add(new JTextField("Sie sind erfolgreich eingeloogt als "+e.getText().toString()));
				else
					a.add(new JTextField("Passwort oder Username fehlerhaft"));
			}
		});
		a.add(b,BorderLayout.CENTER);
		a.add(c,BorderLayout.SOUTH);
		a.setVisible(true);
		a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
	protected boolean logindb(String uname, String pw) {
		boolean flag=false;
		Connection con = null;
		try {
			Class.forName("org.postgresql.Driver");
			con=DriverManager.getConnection("jdbc:postgresql://ip/swing_login","root","root"); // Url zur DB, Username, Pw
			PreparedStatement pre=con.prepareStatement("select count(\"username\") from \"user\" where \"username\"=? and \"password\"=?");
			// 								select count(\"username\") from \"<Tabellename>\" where \"username\"=? and \"password\"=?"
			pre.setString(1, uname);
			pre.setString(2, pw);
			ResultSet rs=pre.executeQuery();
			while(rs.next())
				if(rs.getInt(1)==1)
					flag=true;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		finally{
			try {
				con.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return flag;
	}
	public static void main(String[] args) {
		new login();

	}

}

Lg hendl
 
Ein wenig Eigeninitiative solltest du schon zeigen, so ein JPanel mit Buttons und Feldern kann man schon durch ein wenig googeln selbst zusammenbauen, wenn es dann irgendwo hängt können wir dir ja gerne helfen.
 
Zurück