Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Java / Formulario de autenticación circular

Formulario de autenticación circular

Autor jc mouse martes, enero 5, 2016

En este tutorial crearemos un formulario de logueo de forma circular usando el lenguaje java y el IDE de Netbeans.

Necesitamos

  • IDE Netbeans 7 o superior
  • Java 7 o superior

Tiempo: 15 Minutos

Paso 1: Crea un nuevo proyecto

Paso 2: Añade al proyecto:

  • Un JFrame que se llamara CircleFrame
  • Una clase llamada CirclePanel

proyecto circular

Paso 3: Abre la clase CirclePanel y pega el siguiente código:

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.RenderingHints;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.geom.Ellipse2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* @web https://www.jc-mouse.net/
* @author Mouse
*/
public class CirclePanel extends JPanel implements MouseListener,MouseMotionListener{private final Dimension d = new Dimension(400,400);
private Point initialClick;
private JFrame parent;/**
* Constructor de clase
*/
public CirclePanel(){
super();
CirclePanel.this.setSize(d);
CirclePanel.this.setPreferredSize(d);
CirclePanel.this.setVisible(true);
CirclePanel.this.addMouseListener(CirclePanel.this);
CirclePanel.this.addMouseMotionListener(CirclePanel.this);
}@Override
public void paintComponent(Graphics g){
Graphics2D g2 =(Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);

//fondo
g2.setStroke(new BasicStroke( 0f) );
g2.setColor( new Color(228,228,228) );
g2.fill( new Ellipse2D.Double(0, 0 , getWidth(), getHeight() ) );

g2.setColor( new Color(240,240,240) );
g2.fill( new Ellipse2D.Double(10, 10 , getWidth()-20, getHeight()-20 ) );

//borde
g2.setStroke(new BasicStroke( 1f) );
g2.setColor( new Color(174,174,174) );
g2.draw( new Ellipse2D.Double(0, 0 , getWidth()-1, getHeight()-1 ) );
g2.draw( new Ellipse2D.Double(10, 10 , getWidth()-21, getHeight()-21 ) );
}

@Override
public void mouseClicked(MouseEvent e) {}

@Override
public void mousePressed(MouseEvent e) {
setCursor(new Cursor(Cursor.MOVE_CURSOR));
initialClick = e.getPoint();
getComponentAt(initialClick);
}

@Override
public void mouseReleased(MouseEvent e) {
setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}

@Override
public void mouseEntered(MouseEvent e) {}

@Override
public void mouseExited(MouseEvent e) {}

@Override
public void mouseDragged(MouseEvent e) {
//obtiene posicion de la ventana
int thisX = parent.getLocation().x;
int thisY = parent.getLocation().y;

//determina el desplazamiento
int xMoved = (thisX + e.getX()) – (thisX + initialClick.x);
int yMoved = (thisY + e.getY()) – (thisY + initialClick.y);

//mueve la ventana a su nueva posicion
int X = thisX + xMoved;
int Y = thisY + yMoved;
parent.setLocation(X, Y);
}

@Override
public void mouseMoved(MouseEvent e) {}

public void setParent(JFrame parent) {
this.parent = parent;
}
}//End:class

Paso 4: Clic derecho sobre el proyecto y presiona «Clean and Build» o «Limpiar y Construir»

Paso 5: Abre en modo diseño el JFrame CircleFrame y arrastra hacia el la clase CirclePanel, ya podrás visualizar la forma circular del panel, aún pude verse el fondo del JFrame, eso lo eliminaremos a continuación.

JFrame personalizado

 Paso 6: Abre el JFrame CircleFrame en modo código y reemplaza el constructor de clase con las siguientes lineas

public CircleFrame() {
CircleFrame.this.setUndecorated(true);
initComponents();
CircleFrame.this.setLocationRelativeTo(null);
CircleFrame.this.setBackground(new Color(0,0,0,0));
CircleFrame.this.setVisible(true);
CircleFrame.this.circlePanel1.setParent(CircleFrame.this);
}

Lo que hacemos es quitar los bordes al JFrame con Undecorated, si o si debe declararse antes del initComponents, a continuación centramos en pantalla y asignamos un fondo transparente, finalmente pasamos como parámetro en el CirclePanel al JFrame.

Nuestro JFrame circular ya esta listo, puedes comenzar a insertar los restantes objetos, alinearlos y ejecutar el proyecto

autenticacion

Proyecto JFrame Circular

Descargar

Requiere: Java 7 o superior

Enjoy!

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Visualiza JSON de forma gráfica y rápida en VSC

Visualiza JSON de forma gráfica y rápida en VSC

JSON Crack es un plugin para Visual Studio Code que permite analizar, validar y depurar archivos JSON de manera rápida y...

Consultas con parámetros en Access y Java

Consultas con parámetros en Access y Java

Tenemos un archivo de base de datos Access *.MDB y queremos realizar una consulta con parámetros de búsqueda utilizando...

Descargar video de TikTok sin marca de agua

Descargar video de TikTok sin marca de agua

TikTok es una plataforma de microvideos muy popular entre los jóvenes el cual cuenta ya con millones de videos cortps de...

Client REST usando GSON y Volley

Client REST usando GSON y Volley

En este post crearemos un cliente android para consumir un recurso de un REST API utilizando las librerías GSON y Volley...

Uso de BorderPane

Uso de BorderPane

BorderPane es un layout que distribuye los nodos hijos en 5 posiciones TOP, LEFT, BOTTOM, RIGHT y CENTER Los nodos hijos...

Operador de Complemento bit a bit «~»

Operador de Complemento bit a bit «~»

Operador de Complemento bit a bit unario Entre los operadores a nivel de bits de uso más común en java tenemos al operad...

Comparte lo que sabes

Categorias

Últimas entradas

Si trabajas con redes sociales (RRSS) a continuación te muestro tres herramintas gratuitas que te ayudaran a la hora de...

Por lo general se usan transacciones a nivel base de datos y posteriormente se llaman estos a través de procedimientos a...

En este post, aprenderemos como conectar Visual Basic 6 con SQL Server, abrir una tabla, leer su contenido y mostrar est...

Lo que veremos en este post es la configuración del driver para PHP de SQL Server que ha creado Microsoft el cual permit...

Herramientas

Generador de Enlaces a Whatsapp