Translate

Tuesday, May 29, 2018

Belajar Java - Cara Membuat Halaman Login

Cara Membuat Halaman Login - Pada kesempatan kal ini saya akan memberikan tutorial java cara melakukan makeover pada halaman login. Tidak hanya itu, saya juga telah menambahkan aksi pada JButton tersebut dan menambahkan proses validasi pada halaman login-nya.

Baca Juga : Tutorial Membuat Form Login di Java Netbeans

Berikut ini merupakan output dari halaman login yang akan kita buat.

Belajar Java - Cara Membuat Halaman Login

Bagaimana Cara Membuat Halaman Login di Java?

Kita buat Class ViewLoginMetor Untuk View atau halaman login. Perhatikan source code dibawah ini :

package com.retail.view.app;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

/**
 *
 * @author Community Java
 */
public class ViewLoginMetro extends JDialog implements ActionListener{
    private final ControllerLogin ctrl;
    private JTextField user;
    private JPasswordField pass;
    private JButton login, keluar;

    public ViewLoginMetro() {
        ctrl = new ControllerLogin(this);
        setSize(350, 220);
//        Cara Untuk menghilangkan Frame
        setUndecorated(true);
        setLocationRelativeTo(null);
        userInterface();
    }
    
    private void userInterface(){
//        Membuat Tittle
        JPanel header = new JPanel(new FlowLayout(FlowLayout.CENTER));
        header.setBackground(new Color(30, 136, 229));
        JLabel head = new JLabel("Silahkan Login");
        head.setFont(new Font("Segoe UI", Font.BOLD, 19));
        head.setForeground(Color.WHITE);
        head.setPreferredSize(new Dimension(350, 50));
        head.setHorizontalAlignment(JLabel.CENTER);
        header.add(head);
        getContentPane().add(header, BorderLayout.NORTH);
        
        JPanel pan = new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 10));
        pan.setBackground(new Color(30, 136, 229));
        JLabel _user = new JLabel("Username");
        _user.setForeground(Color.WHITE);
        _user.setFont(new Font("Segoe UI", 0, 17));
        _user.setPreferredSize(new Dimension(100, 30));
        pan.add(_user);
        
        user = new JTextField();
        user.setFont(new Font("Segoe UI", 0, 17));
        user.setPreferredSize(new Dimension(200, 30));
        pan.add(user);
        
        JLabel _pass = new JLabel("Password");
        _pass.setFont(new Font("Segoe UI", 0, 17));
        _pass.setForeground(Color.WHITE);
        _pass.setPreferredSize(new Dimension(100, 30));
        pan.add(_pass);
        
        pass = new JPasswordField();
        pass.setFont(new Font("Segoe UI", 0, 17));
        pass.setPreferredSize(new Dimension(200, 30));
        pan.add(pass);
        
        getContentPane().add(pan);

//        Membuat JPanel Untuk Penempatan JButton
        JPanel panBtn = new JPanel(new FlowLayout(FlowLayout.CENTER, 20, 10));
        panBtn.setBackground(new Color(30, 136, 229));

        login = new JButton("Login");
        login.setContentAreaFilled(false);
        login.setFont(new Font("Segoe UI", Font.BOLD, 14));
        login.setBorder(BorderFactory.createLineBorder(Color.WHITE));
        login.setForeground(Color.WHITE);
        login.setPreferredSize(new Dimension(120, 30));
//        Menambahkan Sebuah Aksi Pada JButton
        login.addActionListener(this);
        panBtn.add(login);
        
        keluar = new JButton("Keluar");
        keluar.setContentAreaFilled(false);
        keluar.setFont(new Font("Segoe UI", Font.BOLD, 14));
        keluar.setBorder(BorderFactory.createLineBorder(Color.WHITE));
        keluar.setForeground(Color.WHITE);
        keluar.setPreferredSize(new Dimension(120, 30));
//        Menambahkan Sebuah Aksi Pada JButton
        keluar.addActionListener(this);
        panBtn.add(keluar);
        
        getContentPane().add(panBtn, BorderLayout.SOUTH);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource()==login){
//            Aksi Ketika JButton Login di Klik
            ctrl.onLogin(user.getText(), String.valueOf(pass.getPassword()));
        } else if(e.getSource()==keluar){
//            Ketika JButton keluar di Klik maka program berhenti
            System.exit(0);
        }
    }

    public static void main(String[] args) {
        ViewLoginMetro form = new ViewLoginMetro();
        form.setVisible(true);
    }

}

Baca Juga : Cara Melakukan Swing Makeover JButton di Java

Bagaimana Cara Menambahkan Aksi atau Controller Pada Halaman Login?

Untuk menambahkan aksi pada halaman login tersebut kita buat class ControllerLogin dengan source code berikut ini :

package com.retail.view.app;

import javax.swing.JOptionPane;

/**
 *
 * @author Community Java
 */
public class ControllerLogin {
    private final ViewLoginMetro view;

    public ControllerLogin(ViewLoginMetro view) {
        this.view = view;
    }
    
//    Cara Membuat Validasi Pada Halaman Login
    private boolean validasi(String user, String pass){
        boolean result = true;
        String msg = "";
        
        if(user.trim().equals("")){
            result = false;
            msg = "Username Tidak Boleh Kosong";
        } else if(pass.trim().equals("")){
            result = false;
            msg = "Password Tidak Boleh Kosong";
        }
        
        if(!result){
            JOptionPane.showMessageDialog(null, msg, "Perhatian", 
                    JOptionPane.WARNING_MESSAGE);
        }
        
        return result;
    }
    
    public void onLogin(String user, String pass){
        if(validasi(user, pass)){
            if (user.equals("admin") && pass.equals("admin")) {
                view.dispose();
                JOptionPane.showMessageDialog(null, "Berhasil Login", "Sukses", 
                        JOptionPane.INFORMATION_MESSAGE);
            } else {
                view.setVisible(false);
                JOptionPane.showMessageDialog(null, "Akun Tidak Valid", "Perhatian", 
                        JOptionPane.WARNING_MESSAGE);
                view.setVisible(true);
            }
        }
    }
}

Sekian Tutorial Cara Membuat Halaman Login Metro Makeover. Semoga Bermanfaat, silahkan tinggalkan komentar.
Copyrighted.com Registered & Protected