INTRODUCTION TO GLOW/NEON DESIGN
Neon and glow effects create vibrant, eye-catching interfaces with bright, luminous borders on dark backgrounds. These designs simulate the look of neon lights, creating a futuristic and energetic feel. Below are 100 different neon/glow login forms created with Java Swing.
SECTION 1: BASIC NEON BORDER FORMS (1-10)
1. Basic Neon Blue Login
import javax.swing.*;
import java.awt.*;
import java.awt.geom.RoundRectangle2D;
public class NeonBlueLogin extends JFrame {
private Timer timer;
private float glowIntensity = 0.5f;
private boolean glowUp = true;
public NeonBlueLogin() {
setTitle("Neon Blue Login");
setSize(400, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setUndecorated(true);
setBackground(new Color(0, 0, 0, 0));
JPanel mainPanel = new JPanel(new GridBagLayout()) {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// Dark background
g2d.setColor(new Color(10, 10, 20));
g2d.fillRect(0, 0, getWidth(), getHeight());
// Outer glow
g2d.setColor(new Color(0, 150, 255, (int)(50 * glowIntensity)));
g2d.setStroke(new BasicStroke(8));
g2d.drawRoundRect(4, 4, getWidth()-8, getHeight()-8, 30, 30);
// Inner glow
g2d.setColor(new Color(0, 200, 255, (int)(100 * glowIntensity)));
g2d.setStroke(new BasicStroke(3));
g2d.drawRoundRect(2, 2, getWidth()-4, getHeight()-4, 30, 30);
// Main border
g2d.setColor(new Color(0, 255, 255));
g2d.setStroke(new BasicStroke(2));
g2d.drawRoundRect(0, 0, getWidth()-1, getHeight()-1, 30, 30);
g2d.dispose();
}
};
mainPanel.setLayout(new GridBagLayout());
mainPanel.setOpaque(false);
// Title with neon effect
JLabel title = new JLabel("NEON");
title.setFont(new Font("Monospaced", Font.BOLD, 48));
title.setForeground(new Color(0, 255, 255));
JLabel subtitle = new JLabel("BLUE");
subtitle.setFont(new Font("Monospaced", Font.BOLD, 48));
subtitle.setForeground(new Color(0, 200, 255));
// Neon fields
JTextField username = createNeonField("USERNAME", new Color(0, 255, 255));
JPasswordField password = createNeonPassword("PASSWORD", new Color(0, 255, 255));
// Neon button
JButton loginBtn = createNeonButton("> LOGIN <", new Color(0, 255, 255));
// Close button
JButton closeBtn = new JButton("×");
closeBtn.setFont(new Font("Arial", Font.BOLD, 20));
closeBtn.setForeground(new Color(0, 255, 255));
closeBtn.setBackground(new Color(20, 20, 30));
closeBtn.setBorder(BorderFactory.createLineBorder(new Color(0, 255, 255)));
closeBtn.setFocusPainted(false);
closeBtn.addActionListener(e -> System.exit(0));
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.insets = new Insets(10, 40, 5, 40);
gbc.fill = GridBagConstraints.HORIZONTAL;
// Close button at top-right
closeBtn.setBounds(350, 10, 30, 30);
mainPanel.setLayout(null);
mainPanel.add(closeBtn);
// Re-add with GridBagLayout
mainPanel.setLayout(new GridBagLayout());
gbc.gridy = 0; gbc.insets = new Insets(30, 40, 0, 40);
mainPanel.add(title, gbc);
gbc.gridy = 1; gbc.insets = new Insets(0, 40, 30, 40);
mainPanel.add(subtitle, gbc);
gbc.gridy = 2; gbc.insets = new Insets(10, 40, 10, 40);
mainPanel.add(username, gbc);
gbc.gridy = 3;
mainPanel.add(password, gbc);
gbc.gridy = 4; gbc.insets = new Insets(30, 40, 40, 40);
mainPanel.add(loginBtn, gbc);
add(mainPanel);
// Glow animation
timer = new Timer(50, e -> {
if (glowUp) {
glowIntensity += 0.05f;
if (glowIntensity >= 1.0f) {
glowIntensity = 1.0f;
glowUp = false;
}
} else {
glowIntensity -= 0.05f;
if (glowIntensity <= 0.3f) {
glowIntensity = 0.3f;
glowUp = true;
}
}
repaint();
});
timer.start();
setVisible(true);
}
private JTextField createNeonField(String placeholder, Color neonColor) {
JTextField field = new JTextField(placeholder) {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// Dark background
g2d.setColor(new Color(20, 20, 30));
g2d.fillRoundRect(0, 0, getWidth(), getHeight(), 15, 15);
// Neon border
g2d.setColor(neonColor);
g2d.setStroke(new BasicStroke(2));
g2d.drawRoundRect(0, 0, getWidth()-1, getHeight()-1, 15, 15);
g2d.dispose();
super.paintComponent(g);
}
};
field.setBorder(BorderFactory.createEmptyBorder(12, 15, 12, 15));
field.setOpaque(false);
field.setForeground(neonColor);
field.setCaretColor(neonColor);
field.setFont(new Font("Monospaced", Font.PLAIN, 14));
return field;
}
private JPasswordField createNeonPassword(String placeholder, Color neonColor) {
JPasswordField field = new JPasswordField(placeholder) {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(new Color(20, 20, 30));
g2d.fillRoundRect(0, 0, getWidth(), getHeight(), 15, 15);
g2d.setColor(neonColor);
g2d.setStroke(new BasicStroke(2));
g2d.drawRoundRect(0, 0, getWidth()-1, getHeight()-1, 15, 15);
g2d.dispose();
super.paintComponent(g);
}
};
field.setBorder(BorderFactory.createEmptyBorder(12, 15, 12, 15));
field.setOpaque(false);
field.setForeground(neonColor);
field.setCaretColor(neonColor);
field.setEchoChar('•');
field.setFont(new Font("Monospaced", Font.PLAIN, 14));
return field;
}
private JButton createNeonButton(String text, Color neonColor) {
JButton btn = new JButton(text) {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
if (getModel().isPressed()) {
g2d.setColor(neonColor.darker());
} else {
g2d.setColor(new Color(20, 20, 30));
}
g2d.fillRoundRect(0, 0, getWidth(), getHeight(), 20, 20);
// Glow effect
g2d.setColor(neonColor);
g2d.setStroke(new BasicStroke(2));
g2d.drawRoundRect(0, 0, getWidth()-1, getHeight()-1, 20, 20);
// Text
g2d.setColor(neonColor);
g2d.setFont(new Font("Monospaced", Font.BOLD, 14));
FontMetrics fm = g2d.getFontMetrics();
int x = (getWidth() - fm.stringWidth(text)) / 2;
int y = (getHeight() + fm.getAscent() - fm.getDescent()) / 2;
g2d.drawString(text, x, y);
g2d.dispose();
}
};
btn.setBorder(BorderFactory.createEmptyBorder(12, 30, 12, 30));
btn.setContentAreaFilled(false);
btn.setFocusPainted(false);
btn.setCursor(new Cursor(Cursor.HAND_CURSOR));
return btn;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(NeonBlueLogin::new);
}
}
Feature: Pulsing neon blue glow with animation
2. Neon Pink Login
import javax.swing.*;
import java.awt.*;
public class NeonPinkLogin extends JFrame {
public NeonPinkLogin() {
setTitle("Neon Pink Login");
setSize(400, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setUndecorated(true);
JPanel mainPanel = new JPanel(new GridBagLayout()) {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// Dark gradient background
GradientPaint gp = new GradientPaint(0, 0, new Color(20, 10, 20),
0, getHeight(), new Color(40, 10, 30));
g2d.setPaint(gp);
g2d.fillRect(0, 0, getWidth(), getHeight());
// Multi-layer neon glow
for(int i = 5; i >= 1; i--) {
int alpha = 30 + (i * 20);
g2d.setColor(new Color(255, 50, 150, alpha));
g2d.setStroke(new BasicStroke(i * 2));
g2d.drawRoundRect(i*2, i*2, getWidth()-(i*4), getHeight()-(i*4), 40, 40);
}
g2d.dispose();
}
};
mainPanel.setLayout(new GridBagLayout());
mainPanel.setOpaque(false);
// Title
JLabel title = new JLabel("NEON PINK");
title.setFont(new Font("Segoe UI", Font.BOLD, 36));
title.setForeground(new Color(255, 105, 180));
// Fields
JTextField username = createNeonPinkField("USERNAME");
JPasswordField password = createNeonPinkPassword("PASSWORD");
// Button
JButton loginBtn = createNeonPinkButton("LOGIN");
// Close button
JButton close = new JButton("✕");
close.setForeground(new Color(255, 105, 180));
close.setBackground(new Color(30, 10, 20));
close.setBorder(BorderFactory.createLineBorder(new Color(255, 105, 180)));
close.addActionListener(e -> System.exit(0));
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.insets = new Insets(10, 40, 10, 40);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridy = 0; gbc.insets = new Insets(40, 40, 20, 40);
mainPanel.add(title, gbc);
gbc.gridy = 1;
mainPanel.add(username, gbc);
gbc.gridy = 2;
mainPanel.add(password, gbc);
gbc.gridy = 3; gbc.insets = new Insets(30, 40, 40, 40);
mainPanel.add(loginBtn, gbc);
add(mainPanel);
// Position close button
close.setBounds(350, 10, 30, 30);
mainPanel.setLayout(null);
mainPanel.add(close);
setVisible(true);
}
private JTextField createNeonPinkField(String placeholder) {
JTextField field = new JTextField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(new Color(255, 105, 180), 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(new Color(30, 10, 20));
field.setForeground(new Color(255, 105, 180));
field.setCaretColor(new Color(255, 105, 180));
field.setFont(new Font("Monospaced", Font.PLAIN, 14));
return field;
}
private JPasswordField createNeonPinkPassword(String placeholder) {
JPasswordField field = new JPasswordField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(new Color(255, 105, 180), 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(new Color(30, 10, 20));
field.setForeground(new Color(255, 105, 180));
field.setCaretColor(new Color(255, 105, 180));
field.setEchoChar('•');
field.setFont(new Font("Monospaced", Font.PLAIN, 14));
return field;
}
private JButton createNeonPinkButton(String text) {
JButton btn = new JButton(text);
btn.setBorder(BorderFactory.createLineBorder(new Color(255, 105, 180), 2));
btn.setBackground(new Color(30, 10, 20));
btn.setForeground(new Color(255, 105, 180));
btn.setFocusPainted(false);
btn.setFont(new Font("Monospaced", Font.BOLD, 14));
return btn;
}
public static void main(String[] args) {
new NeonPinkLogin();
}
}
Feature: Hot pink neon with layered glow effects
3. Neon Green Matrix Login
import javax.swing.*;
import java.awt.*;
import java.util.Random;
public class NeonGreenMatrixLogin extends JFrame {
private Timer rainTimer;
private int[] rainDrops;
private Random random = new Random();
public NeonGreenMatrixLogin() {
setTitle("Neon Green Matrix Login");
setSize(400, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setUndecorated(true);
rainDrops = new int[20];
for(int i = 0; i < rainDrops.length; i++) {
rainDrops[i] = random.nextInt(500);
}
JPanel mainPanel = new JPanel(new GridBagLayout()) {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// Black background
g2d.setColor(Color.BLACK);
g2d.fillRect(0, 0, getWidth(), getHeight());
// Matrix rain effect
g2d.setColor(new Color(0, 255, 0, 30));
g2d.setFont(new Font("Monospaced", Font.PLAIN, 12));
for(int i = 0; i < rainDrops.length; i++) {
String digit = String.valueOf(random.nextInt(2));
g2d.drawString(digit, i * 20, rainDrops[i]);
rainDrops[i] += 5;
if(rainDrops[i] > getHeight()) {
rainDrops[i] = 0;
}
}
// Neon border
g2d.setColor(new Color(0, 255, 0));
g2d.setStroke(new BasicStroke(3));
g2d.drawRoundRect(5, 5, getWidth()-10, getHeight()-10, 30, 30);
// Inner glow
g2d.setColor(new Color(0, 255, 0, 100));
g2d.setStroke(new BasicStroke(5));
g2d.drawRoundRect(3, 3, getWidth()-6, getHeight()-6, 30, 30);
g2d.dispose();
}
};
mainPanel.setLayout(new GridBagLayout());
mainPanel.setOpaque(false);
// Title
JLabel title = new JLabel("MATRIX");
title.setFont(new Font("Monospaced", Font.BOLD, 40));
title.setForeground(new Color(0, 255, 0));
// Fields
JTextField username = createMatrixField("> USERNAME");
JPasswordField password = createMatrixPassword("> PASSWORD");
// Button
JButton loginBtn = createMatrixButton("> ENTER THE MATRIX <");
// Close button
JButton close = new JButton("X");
close.setForeground(new Color(0, 255, 0));
close.setBackground(Color.BLACK);
close.setBorder(BorderFactory.createLineBorder(new Color(0, 255, 0)));
close.addActionListener(e -> System.exit(0));
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.insets = new Insets(10, 40, 10, 40);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridy = 0; gbc.insets = new Insets(40, 40, 10, 40);
mainPanel.add(title, gbc);
gbc.gridy = 1; gbc.insets = new Insets(10, 40, 10, 40);
mainPanel.add(username, gbc);
gbc.gridy = 2;
mainPanel.add(password, gbc);
gbc.gridy = 3; gbc.insets = new Insets(30, 40, 40, 40);
mainPanel.add(loginBtn, gbc);
add(mainPanel);
close.setBounds(350, 10, 30, 30);
mainPanel.setLayout(null);
mainPanel.add(close);
// Rain animation
rainTimer = new Timer(50, e -> repaint());
rainTimer.start();
setVisible(true);
}
private JTextField createMatrixField(String placeholder) {
JTextField field = new JTextField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(new Color(0, 255, 0), 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(Color.BLACK);
field.setForeground(new Color(0, 255, 0));
field.setCaretColor(new Color(0, 255, 0));
field.setFont(new Font("Monospaced", Font.PLAIN, 14));
return field;
}
private JPasswordField createMatrixPassword(String placeholder) {
JPasswordField field = new JPasswordField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(new Color(0, 255, 0), 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(Color.BLACK);
field.setForeground(new Color(0, 255, 0));
field.setCaretColor(new Color(0, 255, 0));
field.setEchoChar('•');
field.setFont(new Font("Monospaced", Font.PLAIN, 14));
return field;
}
private JButton createMatrixButton(String text) {
JButton btn = new JButton(text);
btn.setBorder(BorderFactory.createLineBorder(new Color(0, 255, 0), 2));
btn.setBackground(Color.BLACK);
btn.setForeground(new Color(0, 255, 0));
btn.setFocusPainted(false);
btn.setFont(new Font("Monospaced", Font.BOLD, 12));
return btn;
}
public static void main(String[] args) {
new NeonGreenMatrixLogin();
}
}
Feature: Matrix-style rain animation with neon green glow
4. Neon Red Warning Login
import javax.swing.*;
import java.awt.*;
public class NeonRedWarningLogin extends JFrame {
public NeonRedWarningLogin() {
setTitle("Neon Red Warning Login");
setSize(400, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setUndecorated(true);
JPanel mainPanel = new JPanel(new GridBagLayout()) {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// Dark red gradient
GradientPaint gp = new GradientPaint(0, 0, new Color(40, 0, 0),
0, getHeight(), new Color(80, 0, 0));
g2d.setPaint(gp);
g2d.fillRect(0, 0, getWidth(), getHeight());
// Warning stripes
g2d.setColor(new Color(255, 0, 0, 30));
for(int i = 0; i < getWidth(); i+=20) {
g2d.fillRect(i, 0, 10, getHeight());
}
// Neon border with glow
for(int i = 8; i > 0; i-=2) {
g2d.setColor(new Color(255, 0, 0, 100 - i*10));
g2d.setStroke(new BasicStroke(i));
g2d.drawRoundRect(i, i, getWidth()-(i*2), getHeight()-(i*2), 40, 40);
}
g2d.dispose();
}
};
mainPanel.setLayout(new GridBagLayout());
mainPanel.setOpaque(false);
// Title
JLabel title = new JLabel("⚠ WARNING ⚠");
title.setFont(new Font("Arial Black", Font.BOLD, 24));
title.setForeground(new Color(255, 50, 50));
JLabel subtitle = new JLabel("AUTHORIZED PERSONNEL ONLY");
subtitle.setFont(new Font("Monospaced", Font.PLAIN, 12));
subtitle.setForeground(new Color(255, 100, 100));
// Fields
JTextField username = createRedField("ACCESS CODE");
JPasswordField password = createRedPassword("CLEARANCE");
// Button
JButton loginBtn = createRedButton("> VERIFY <");
// Close
JButton close = new JButton("×");
close.setForeground(Color.RED);
close.setBackground(new Color(40, 0, 0));
close.setBorder(BorderFactory.createLineBorder(Color.RED));
close.addActionListener(e -> System.exit(0));
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.insets = new Insets(10, 40, 10, 40);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridy = 0; gbc.insets = new Insets(30, 40, 5, 40);
mainPanel.add(title, gbc);
gbc.gridy = 1; gbc.insets = new Insets(0, 40, 30, 40);
mainPanel.add(subtitle, gbc);
gbc.gridy = 2;
mainPanel.add(username, gbc);
gbc.gridy = 3;
mainPanel.add(password, gbc);
gbc.gridy = 4; gbc.insets = new Insets(30, 40, 40, 40);
mainPanel.add(loginBtn, gbc);
add(mainPanel);
close.setBounds(350, 10, 30, 30);
mainPanel.setLayout(null);
mainPanel.add(close);
setVisible(true);
}
private JTextField createRedField(String placeholder) {
JTextField field = new JTextField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.RED, 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(new Color(30, 0, 0));
field.setForeground(Color.RED);
field.setCaretColor(Color.RED);
field.setFont(new Font("Monospaced", Font.BOLD, 14));
return field;
}
private JPasswordField createRedPassword(String placeholder) {
JPasswordField field = new JPasswordField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.RED, 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(new Color(30, 0, 0));
field.setForeground(Color.RED);
field.setCaretColor(Color.RED);
field.setEchoChar('•');
field.setFont(new Font("Monospaced", Font.BOLD, 14));
return field;
}
private JButton createRedButton(String text) {
JButton btn = new JButton(text);
btn.setBorder(BorderFactory.createLineBorder(Color.RED, 2));
btn.setBackground(new Color(40, 0, 0));
btn.setForeground(Color.RED);
btn.setFocusPainted(false);
btn.setFont(new Font("Monospaced", Font.BOLD, 14));
return btn;
}
public static void main(String[] args) {
new NeonRedWarningLogin();
}
}
Feature: Warning-themed red neon with stripes
5. Neon Purple Cyberpunk Login
import javax.swing.*;
import java.awt.*;
import java.awt.geom.Line2D;
public class NeonPurpleCyberpunkLogin extends JFrame {
private Timer scanTimer;
private int scanLine = 0;
public NeonPurpleCyberpunkLogin() {
setTitle("Neon Purple Cyberpunk Login");
setSize(400, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setUndecorated(true);
JPanel mainPanel = new JPanel(new GridBagLayout()) {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// Dark purple background
g2d.setColor(new Color(20, 0, 30));
g2d.fillRect(0, 0, getWidth(), getHeight());
// Grid lines
g2d.setColor(new Color(180, 0, 255, 30));
g2d.setStroke(new BasicStroke(1));
// Vertical lines
for(int x = 0; x < getWidth(); x+=30) {
g2d.drawLine(x, 0, x, getHeight());
}
// Horizontal lines
for(int y = 0; y < getHeight(); y+=30) {
g2d.drawLine(0, y, getWidth(), y);
}
// Neon border with glow
g2d.setColor(new Color(180, 0, 255));
g2d.setStroke(new BasicStroke(3));
g2d.drawRoundRect(5, 5, getWidth()-10, getHeight()-10, 30, 30);
// Outer glow
g2d.setColor(new Color(180, 0, 255, 100));
g2d.setStroke(new BasicStroke(6));
g2d.drawRoundRect(2, 2, getWidth()-4, getHeight()-4, 30, 30);
// Scanning line
g2d.setColor(new Color(180, 0, 255, 150));
g2d.setStroke(new BasicStroke(2));
g2d.drawLine(10, scanLine, getWidth()-10, scanLine);
g2d.dispose();
}
};
mainPanel.setLayout(new GridBagLayout());
mainPanel.setOpaque(false);
// Title
JLabel title = new JLabel("CYBERPUNK");
title.setFont(new Font("Orbitron", Font.BOLD, 28));
title.setForeground(new Color(180, 0, 255));
JLabel subtitle = new JLabel("2077");
subtitle.setFont(new Font("Orbitron", Font.BOLD, 48));
subtitle.setForeground(new Color(200, 100, 255));
// Fields
JTextField username = createPurpleField("> NEURAL LINK ID");
JPasswordField password = createPurplePassword("> ENCRYPTION KEY");
// Button
JButton loginBtn = createPurpleButton(">> ACCESS MAINFRAME <<");
// Close
JButton close = new JButton("X");
close.setForeground(new Color(180, 0, 255));
close.setBackground(new Color(20, 0, 30));
close.setBorder(BorderFactory.createLineBorder(new Color(180, 0, 255)));
close.addActionListener(e -> System.exit(0));
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.insets = new Insets(10, 40, 5, 40);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridy = 0; gbc.insets = new Insets(30, 40, 0, 40);
mainPanel.add(title, gbc);
gbc.gridy = 1; gbc.insets = new Insets(0, 40, 20, 40);
mainPanel.add(subtitle, gbc);
gbc.gridy = 2;
mainPanel.add(username, gbc);
gbc.gridy = 3;
mainPanel.add(password, gbc);
gbc.gridy = 4; gbc.insets = new Insets(30, 40, 40, 40);
mainPanel.add(loginBtn, gbc);
add(mainPanel);
close.setBounds(350, 10, 30, 30);
mainPanel.setLayout(null);
mainPanel.add(close);
// Scan animation
scanTimer = new Timer(50, e -> {
scanLine += 3;
if(scanLine > getHeight()) scanLine = 0;
repaint();
});
scanTimer.start();
setVisible(true);
}
private JTextField createPurpleField(String placeholder) {
JTextField field = new JTextField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(new Color(180, 0, 255), 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(new Color(15, 0, 20));
field.setForeground(new Color(180, 0, 255));
field.setCaretColor(new Color(180, 0, 255));
field.setFont(new Font("Monospaced", Font.PLAIN, 12));
return field;
}
private JPasswordField createPurplePassword(String placeholder) {
JPasswordField field = new JPasswordField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(new Color(180, 0, 255), 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(new Color(15, 0, 20));
field.setForeground(new Color(180, 0, 255));
field.setCaretColor(new Color(180, 0, 255));
field.setEchoChar('•');
field.setFont(new Font("Monospaced", Font.PLAIN, 12));
return field;
}
private JButton createPurpleButton(String text) {
JButton btn = new JButton(text);
btn.setBorder(BorderFactory.createLineBorder(new Color(180, 0, 255), 2));
btn.setBackground(new Color(20, 0, 30));
btn.setForeground(new Color(180, 0, 255));
btn.setFocusPainted(false);
btn.setFont(new Font("Orbitron", Font.BOLD, 11));
return btn;
}
public static void main(String[] args) {
new NeonPurpleCyberpunkLogin();
}
}
Feature: Cyberpunk theme with grid and scanning line
6. Neon Yellow Caution Login
import javax.swing.*;
import java.awt.*;
public class NeonYellowCautionLogin extends JFrame {
public NeonYellowCautionLogin() {
setTitle("Neon Yellow Caution Login");
setSize(400, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setUndecorated(true);
JPanel mainPanel = new JPanel(new GridBagLayout()) {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// Dark background
g2d.setColor(new Color(30, 30, 10));
g2d.fillRect(0, 0, getWidth(), getHeight());
// Caution tape pattern
g2d.setColor(new Color(255, 255, 0, 30));
for(int i = -20; i < getWidth() + 20; i+=30) {
g2d.fillRect(i, 0, 15, getHeight());
}
// Neon border with glow
for(int i = 8; i >= 1; i--) {
g2d.setColor(new Color(255, 255, 0, 100 - i*10));
g2d.setStroke(new BasicStroke(i));
g2d.drawRoundRect(i, i, getWidth()-(i*2), getHeight()-(i*2), 30, 30);
}
g2d.dispose();
}
};
mainPanel.setLayout(new GridBagLayout());
mainPanel.setOpaque(false);
// Title
JLabel title = new JLabel("⚠ CAUTION ⚠");
title.setFont(new Font("Arial Black", Font.BOLD, 26));
title.setForeground(new Color(255, 255, 0));
JLabel subtitle = new JLabel("RESTRICTED AREA");
subtitle.setFont(new Font("Monospaced", Font.BOLD, 14));
subtitle.setForeground(new Color(255, 255, 100));
// Fields
JTextField username = createYellowField("ID CARD");
JPasswordField password = createYellowPassword("CLEARANCE CODE");
// Button
JButton loginBtn = createYellowButton("> PROCEED <");
// Close
JButton close = new JButton("X");
close.setForeground(Color.YELLOW);
close.setBackground(new Color(30, 30, 10));
close.setBorder(BorderFactory.createLineBorder(Color.YELLOW));
close.addActionListener(e -> System.exit(0));
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.insets = new Insets(10, 40, 5, 40);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridy = 0; gbc.insets = new Insets(40, 40, 5, 40);
mainPanel.add(title, gbc);
gbc.gridy = 1; gbc.insets = new Insets(0, 40, 30, 40);
mainPanel.add(subtitle, gbc);
gbc.gridy = 2;
mainPanel.add(username, gbc);
gbc.gridy = 3;
mainPanel.add(password, gbc);
gbc.gridy = 4; gbc.insets = new Insets(30, 40, 40, 40);
mainPanel.add(loginBtn, gbc);
add(mainPanel);
close.setBounds(350, 10, 30, 30);
mainPanel.setLayout(null);
mainPanel.add(close);
setVisible(true);
}
private JTextField createYellowField(String placeholder) {
JTextField field = new JTextField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.YELLOW, 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(new Color(30, 30, 10));
field.setForeground(Color.YELLOW);
field.setCaretColor(Color.YELLOW);
field.setFont(new Font("Monospaced", Font.BOLD, 12));
return field;
}
private JPasswordField createYellowPassword(String placeholder) {
JPasswordField field = new JPasswordField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(Color.YELLOW, 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(new Color(30, 30, 10));
field.setForeground(Color.YELLOW);
field.setCaretColor(Color.YELLOW);
field.setEchoChar('•');
field.setFont(new Font("Monospaced", Font.BOLD, 12));
return field;
}
private JButton createYellowButton(String text) {
JButton btn = new JButton(text);
btn.setBorder(BorderFactory.createLineBorder(Color.YELLOW, 2));
btn.setBackground(new Color(30, 30, 10));
btn.setForeground(Color.YELLOW);
btn.setFocusPainted(false);
btn.setFont(new Font("Monospaced", Font.BOLD, 14));
return btn;
}
public static void main(String[] args) {
new NeonYellowCautionLogin();
}
}
Feature: Caution-themed yellow neon with hazard stripes
7. Neon Orange Sunset Login
import javax.swing.*;
import java.awt.*;
public class NeonOrangeSunsetLogin extends JFrame {
public NeonOrangeSunsetLogin() {
setTitle("Neon Orange Sunset Login");
setSize(400, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setUndecorated(true);
JPanel mainPanel = new JPanel(new GridBagLayout()) {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// Sunset gradient
GradientPaint gp = new GradientPaint(0, 0, new Color(50, 20, 0),
0, getHeight(), new Color(100, 40, 0));
g2d.setPaint(gp);
g2d.fillRect(0, 0, getWidth(), getHeight());
// Sun effect
g2d.setColor(new Color(255, 100, 0, 30));
g2d.fillOval(250, -50, 200, 200);
// Neon border with glow
for(int i = 10; i > 0; i-=2) {
g2d.setColor(new Color(255, 100, 0, 100 - i*8));
g2d.setStroke(new BasicStroke(i));
g2d.drawRoundRect(i, i, getWidth()-(i*2), getHeight()-(i*2), 40, 40);
}
g2d.dispose();
}
};
mainPanel.setLayout(new GridBagLayout());
mainPanel.setOpaque(false);
// Title
JLabel title = new JLabel("SUNSET");
title.setFont(new Font("Pacifico", Font.PLAIN, 40));
title.setForeground(new Color(255, 120, 0));
JLabel subtitle = new JLabel("neon");
subtitle.setFont(new Font("Pacifico", Font.PLAIN, 24));
subtitle.setForeground(new Color(255, 150, 50));
// Fields
JTextField username = createOrangeField("username");
JPasswordField password = createOrangePassword("password");
// Button
JButton loginBtn = createOrangeButton("> LOGIN <");
// Close
JButton close = new JButton("✕");
close.setForeground(new Color(255, 120, 0));
close.setBackground(new Color(50, 20, 0));
close.setBorder(BorderFactory.createLineBorder(new Color(255, 120, 0)));
close.addActionListener(e -> System.exit(0));
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.insets = new Insets(10, 40, 5, 40);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridy = 0; gbc.insets = new Insets(30, 40, 0, 40);
mainPanel.add(title, gbc);
gbc.gridy = 1; gbc.insets = new Insets(0, 40, 30, 40);
mainPanel.add(subtitle, gbc);
gbc.gridy = 2;
mainPanel.add(username, gbc);
gbc.gridy = 3;
mainPanel.add(password, gbc);
gbc.gridy = 4; gbc.insets = new Insets(30, 40, 40, 40);
mainPanel.add(loginBtn, gbc);
add(mainPanel);
close.setBounds(350, 10, 30, 30);
mainPanel.setLayout(null);
mainPanel.add(close);
setVisible(true);
}
private JTextField createOrangeField(String placeholder) {
JTextField field = new JTextField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(new Color(255, 120, 0), 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(new Color(40, 20, 0));
field.setForeground(new Color(255, 120, 0));
field.setCaretColor(new Color(255, 120, 0));
field.setFont(new Font("Segoe UI", Font.PLAIN, 14));
return field;
}
private JPasswordField createOrangePassword(String placeholder) {
JPasswordField field = new JPasswordField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(new Color(255, 120, 0), 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(new Color(40, 20, 0));
field.setForeground(new Color(255, 120, 0));
field.setCaretColor(new Color(255, 120, 0));
field.setEchoChar('•');
field.setFont(new Font("Segoe UI", Font.PLAIN, 14));
return field;
}
private JButton createOrangeButton(String text) {
JButton btn = new JButton(text);
btn.setBorder(BorderFactory.createLineBorder(new Color(255, 120, 0), 2));
btn.setBackground(new Color(50, 20, 0));
btn.setForeground(new Color(255, 120, 0));
btn.setFocusPainted(false);
btn.setFont(new Font("Segoe UI", Font.BOLD, 14));
return btn;
}
public static void main(String[] args) {
new NeonOrangeSunsetLogin();
}
}
Feature: Sunset-themed orange neon with glow
8. Multi-Color Neon Login
import javax.swing.*;
import java.awt.*;
import java.awt.geom.Line2D;
public class MultiColorNeonLogin extends JFrame {
private float hue = 0.0f;
private Timer colorTimer;
public MultiColorNeonLogin() {
setTitle("Multi-Color Neon Login");
setSize(400, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setUndecorated(true);
JPanel mainPanel = new JPanel(new GridBagLayout()) {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// Dark background
g2d.setColor(new Color(10, 10, 15));
g2d.fillRect(0, 0, getWidth(), getHeight());
// Rainbow border
Color rainbowColor = Color.getHSBColor(hue, 1.0f, 1.0f);
for(int i = 8; i > 0; i-=2) {
g2d.setColor(new Color(rainbowColor.getRed(),
rainbowColor.getGreen(),
rainbowColor.getBlue(),
100 - i*10));
g2d.setStroke(new BasicStroke(i));
g2d.drawRoundRect(i, i, getWidth()-(i*2), getHeight()-(i*2), 30, 30);
}
g2d.dispose();
}
};
mainPanel.setLayout(new GridBagLayout());
mainPanel.setOpaque(false);
// Title
JLabel title = new JLabel("NEON");
title.setFont(new Font("Impact", Font.PLAIN, 48));
title.setForeground(Color.WHITE);
JLabel subtitle = new JLabel("RAINBOW");
subtitle.setFont(new Font("Impact", Font.PLAIN, 36));
subtitle.setForeground(Color.WHITE);
// Fields
JTextField username = createRainbowField("username");
JPasswordField password = createRainbowPassword("password");
// Button
JButton loginBtn = createRainbowButton("LOGIN");
// Close
JButton close = new JButton("×");
close.setForeground(Color.WHITE);
close.setBackground(new Color(10, 10, 15));
close.setBorder(BorderFactory.createLineBorder(Color.WHITE));
close.addActionListener(e -> System.exit(0));
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.insets = new Insets(10, 40, 5, 40);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridy = 0; gbc.insets = new Insets(40, 40, 0, 40);
mainPanel.add(title, gbc);
gbc.gridy = 1; gbc.insets = new Insets(0, 40, 30, 40);
mainPanel.add(subtitle, gbc);
gbc.gridy = 2;
mainPanel.add(username, gbc);
gbc.gridy = 3;
mainPanel.add(password, gbc);
gbc.gridy = 4; gbc.insets = new Insets(30, 40, 40, 40);
mainPanel.add(loginBtn, gbc);
add(mainPanel);
close.setBounds(350, 10, 30, 30);
mainPanel.setLayout(null);
mainPanel.add(close);
// Color animation
colorTimer = new Timer(50, e -> {
hue += 0.02f;
if(hue > 1.0f) hue = 0.0f;
repaint();
});
colorTimer.start();
setVisible(true);
}
private JTextField createRainbowField(String placeholder) {
JTextField field = new JTextField(placeholder) {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
Color rainbowColor = Color.getHSBColor(hue, 1.0f, 1.0f);
g2d.setColor(rainbowColor);
g2d.setStroke(new BasicStroke(2));
g2d.drawRoundRect(1, 1, getWidth()-3, getHeight()-3, 10, 10);
}
};
field.setBorder(BorderFactory.createEmptyBorder(10, 15, 10, 15));
field.setOpaque(false);
field.setBackground(new Color(15, 15, 20));
field.setForeground(Color.WHITE);
field.setCaretColor(Color.WHITE);
field.setFont(new Font("Segoe UI", Font.PLAIN, 14));
return field;
}
private JPasswordField createRainbowPassword(String placeholder) {
JPasswordField field = new JPasswordField(placeholder) {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
Color rainbowColor = Color.getHSBColor(hue, 1.0f, 1.0f);
g2d.setColor(rainbowColor);
g2d.setStroke(new BasicStroke(2));
g2d.drawRoundRect(1, 1, getWidth()-3, getHeight()-3, 10, 10);
}
};
field.setBorder(BorderFactory.createEmptyBorder(10, 15, 10, 15));
field.setOpaque(false);
field.setBackground(new Color(15, 15, 20));
field.setForeground(Color.WHITE);
field.setCaretColor(Color.WHITE);
field.setEchoChar('•');
field.setFont(new Font("Segoe UI", Font.PLAIN, 14));
return field;
}
private JButton createRainbowButton(String text) {
JButton btn = new JButton(text) {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
Color rainbowColor = Color.getHSBColor(hue, 1.0f, 1.0f);
if (getModel().isPressed()) {
g2d.setColor(rainbowColor.darker());
} else {
g2d.setColor(new Color(15, 15, 20));
}
g2d.fillRoundRect(0, 0, getWidth(), getHeight(), 20, 20);
g2d.setColor(rainbowColor);
g2d.setStroke(new BasicStroke(2));
g2d.drawRoundRect(0, 0, getWidth()-1, getHeight()-1, 20, 20);
g2d.setColor(rainbowColor);
g2d.setFont(new Font("Segoe UI", Font.BOLD, 14));
FontMetrics fm = g2d.getFontMetrics();
int x = (getWidth() - fm.stringWidth(text)) / 2;
int y = (getHeight() + fm.getAscent() - fm.getDescent()) / 2;
g2d.drawString(text, x, y);
g2d.dispose();
}
};
btn.setBorder(BorderFactory.createEmptyBorder(12, 30, 12, 30));
btn.setContentAreaFilled(false);
btn.setFocusPainted(false);
return btn;
}
public static void main(String[] args) {
new MultiColorNeonLogin();
}
}
Feature: Rainbow color cycling animation
9. Neon Blue Electric Login
import javax.swing.*;
import java.awt.*;
import java.awt.geom.Ellipse2D;
public class NeonBlueElectricLogin extends JFrame {
private Timer sparkTimer;
private int sparkX = 0, sparkY = 0;
public NeonBlueElectricLogin() {
setTitle("Neon Blue Electric Login");
setSize(400, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setUndecorated(true);
JPanel mainPanel = new JPanel(new GridBagLayout()) {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// Dark blue background
g2d.setColor(new Color(0, 0, 20));
g2d.fillRect(0, 0, getWidth(), getHeight());
// Electric arcs
g2d.setColor(new Color(0, 200, 255, 100));
g2d.setStroke(new BasicStroke(2));
for(int i = 0; i < 5; i++) {
int x1 = (int)(Math.random() * getWidth());
int y1 = (int)(Math.random() * getHeight());
int x2 = (int)(Math.random() * getWidth());
int y2 = (int)(Math.random() * getHeight());
g2d.drawLine(x1, y1, x2, y2);
}
// Neon border with electric effect
g2d.setColor(new Color(0, 255, 255));
g2d.setStroke(new BasicStroke(3));
g2d.drawRoundRect(5, 5, getWidth()-10, getHeight()-10, 30, 30);
// Sparks
g2d.setColor(new Color(0, 255, 255, 200));
g2d.fill(new Ellipse2D.Double(sparkX, sparkY, 5, 5));
g2d.dispose();
}
};
mainPanel.setLayout(new GridBagLayout());
mainPanel.setOpaque(false);
// Title
JLabel title = new JLabel("ELECTRIC");
title.setFont(new Font("Arial Black", Font.BOLD, 36));
title.setForeground(new Color(0, 255, 255));
JLabel subtitle = new JLabel("⚡ BLUE ⚡");
subtitle.setFont(new Font("Arial Black", Font.BOLD, 24));
subtitle.setForeground(new Color(100, 200, 255));
// Fields
JTextField username = createElectricField("USERNAME");
JPasswordField password = createElectricPassword("PASSWORD");
// Button
JButton loginBtn = createElectricButton("⚡ LOGIN ⚡");
// Close
JButton close = new JButton("X");
close.setForeground(new Color(0, 255, 255));
close.setBackground(new Color(0, 0, 20));
close.setBorder(BorderFactory.createLineBorder(new Color(0, 255, 255)));
close.addActionListener(e -> System.exit(0));
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.insets = new Insets(10, 40, 5, 40);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridy = 0; gbc.insets = new Insets(30, 40, 0, 40);
mainPanel.add(title, gbc);
gbc.gridy = 1; gbc.insets = new Insets(0, 40, 30, 40);
mainPanel.add(subtitle, gbc);
gbc.gridy = 2;
mainPanel.add(username, gbc);
gbc.gridy = 3;
mainPanel.add(password, gbc);
gbc.gridy = 4; gbc.insets = new Insets(30, 40, 40, 40);
mainPanel.add(loginBtn, gbc);
add(mainPanel);
close.setBounds(350, 10, 30, 30);
mainPanel.setLayout(null);
mainPanel.add(close);
// Spark animation
sparkTimer = new Timer(100, e -> {
sparkX = (int)(Math.random() * getWidth());
sparkY = (int)(Math.random() * getHeight());
repaint();
});
sparkTimer.start();
setVisible(true);
}
private JTextField createElectricField(String placeholder) {
JTextField field = new JTextField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(new Color(0, 255, 255), 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(new Color(0, 0, 30));
field.setForeground(new Color(0, 255, 255));
field.setCaretColor(new Color(0, 255, 255));
field.setFont(new Font("Monospaced", Font.BOLD, 14));
return field;
}
private JPasswordField createElectricPassword(String placeholder) {
JPasswordField field = new JPasswordField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(new Color(0, 255, 255), 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(new Color(0, 0, 30));
field.setForeground(new Color(0, 255, 255));
field.setCaretColor(new Color(0, 255, 255));
field.setEchoChar('•');
field.setFont(new Font("Monospaced", Font.BOLD, 14));
return field;
}
private JButton createElectricButton(String text) {
JButton btn = new JButton(text);
btn.setBorder(BorderFactory.createLineBorder(new Color(0, 255, 255), 2));
btn.setBackground(new Color(0, 0, 30));
btn.setForeground(new Color(0, 255, 255));
btn.setFocusPainted(false);
btn.setFont(new Font("Monospaced", Font.BOLD, 14));
return btn;
}
public static void main(String[] args) {
new NeonBlueElectricLogin();
}
}
Feature: Electric theme with random sparks
10. Neon Pink Laser Login
import javax.swing.*;
import java.awt.*;
import java.awt.geom.Line2D;
public class NeonPinkLaserLogin extends JFrame {
private Timer laserTimer;
private int laserAngle = 0;
public NeonPinkLaserLogin() {
setTitle("Neon Pink Laser Login");
setSize(400, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setUndecorated(true);
JPanel mainPanel = new JPanel(new GridBagLayout()) {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
// Dark background
g2d.setColor(new Color(20, 0, 20));
g2d.fillRect(0, 0, getWidth(), getHeight());
// Laser grid
g2d.setColor(new Color(255, 0, 255, 50));
g2d.setStroke(new BasicStroke(1));
int centerX = getWidth() / 2;
int centerY = getHeight() / 2;
for(int i = 0; i < 360; i+=30) {
double rad = Math.toRadians(i + laserAngle);
int x = centerX + (int)(Math.cos(rad) * 300);
int y = centerY + (int)(Math.sin(rad) * 300);
g2d.drawLine(centerX, centerY, x, y);
}
// Neon border
g2d.setColor(new Color(255, 0, 255));
g2d.setStroke(new BasicStroke(3));
g2d.drawRoundRect(5, 5, getWidth()-10, getHeight()-10, 30, 30);
g2d.dispose();
}
};
mainPanel.setLayout(new GridBagLayout());
mainPanel.setOpaque(false);
// Title
JLabel title = new JLabel("LASER");
title.setFont(new Font("Orbitron", Font.BOLD, 40));
title.setForeground(new Color(255, 0, 255));
JLabel subtitle = new JLabel("PINK");
subtitle.setFont(new Font("Orbitron", Font.BOLD, 32));
subtitle.setForeground(new Color(255, 100, 255));
// Fields
JTextField username = createLaserField("> TARGET ID");
JPasswordField password = createLaserPassword("> LASER CODE");
// Button
JButton loginBtn = createLaserButton(">> FIRE <<");
// Close
JButton close = new JButton("X");
close.setForeground(new Color(255, 0, 255));
close.setBackground(new Color(20, 0, 20));
close.setBorder(BorderFactory.createLineBorder(new Color(255, 0, 255)));
close.addActionListener(e -> System.exit(0));
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.insets = new Insets(10, 40, 5, 40);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.gridy = 0; gbc.insets = new Insets(30, 40, 0, 40);
mainPanel.add(title, gbc);
gbc.gridy = 1; gbc.insets = new Insets(0, 40, 30, 40);
mainPanel.add(subtitle, gbc);
gbc.gridy = 2;
mainPanel.add(username, gbc);
gbc.gridy = 3;
mainPanel.add(password, gbc);
gbc.gridy = 4; gbc.insets = new Insets(30, 40, 40, 40);
mainPanel.add(loginBtn, gbc);
add(mainPanel);
close.setBounds(350, 10, 30, 30);
mainPanel.setLayout(null);
mainPanel.add(close);
// Laser rotation
laserTimer = new Timer(50, e -> {
laserAngle += 5;
repaint();
});
laserTimer.start();
setVisible(true);
}
private JTextField createLaserField(String placeholder) {
JTextField field = new JTextField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(new Color(255, 0, 255), 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(new Color(20, 0, 20));
field.setForeground(new Color(255, 0, 255));
field.setCaretColor(new Color(255, 0, 255));
field.setFont(new Font("Monospaced", Font.BOLD, 12));
return field;
}
private JPasswordField createLaserPassword(String placeholder) {
JPasswordField field = new JPasswordField(placeholder);
field.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createLineBorder(new Color(255, 0, 255), 2),
BorderFactory.createEmptyBorder(10, 15, 10, 15)
));
field.setBackground(new Color(20, 0, 20));
field.setForeground(new Color(255, 0, 255));
field.setCaretColor(new Color(255, 0, 255));
field.setEchoChar('•');
field.setFont(new Font("Monospaced", Font.BOLD, 12));
return field;
}
private JButton createLaserButton(String text) {
JButton btn = new JButton(text);
btn.setBorder(BorderFactory.createLineBorder(new Color(255, 0, 255), 2));
btn.setBackground(new Color(20, 0, 20));
btn.setForeground(new Color(255, 0, 255));
btn.setFocusPainted(false);
btn.setFont(new Font("Orbitron", Font.BOLD, 12));
return btn;
}
public static void main(String[] args) {
new NeonPinkLaserLogin();
}
}
Feature: Rotating laser grid effect
CONTINUATION GUIDE FOR FORMS 11-100
Category 1: Single Color Neon Variations (11-20)
- Neon Cyan Login - Bright cyan with glow
- Neon Lime Login - Electric lime green
- Neon Magenta Login - Deep magenta
- Neon Gold Login - Metallic gold glow
- Neon Silver Login - Chrome silver effect
- Neon White Login - Pure white glow
- Neon Teal Login - Teal blue-green
- Neon Violet Login - Deep violet
- Neon Amber Login - Warm amber
- Neon Crimson Login - Deep crimson red
Category 2: Dual Color Neon (21-30)
- Blue-Pink Gradient Login - Cyberpunk style
- Green-Yellow Neon Login - Toxic warning
- Red-Orange Neon Login - Sunset fire
- Purple-Blue Neon Login - Deep space
- Cyan-Magenta Login - 80s retro
- Gold-Red Neon Login - Royal theme
- Silver-Blue Login - Futuristic
- Rainbow Stripes Login - Colorful stripes
- Neon Split Login - Split complementary
- Neon Gradient Login - Smooth color transitions
Category 3: Animated Neon Effects (31-40)
- Pulsing Neon Login - Heartbeat pulse
- Flashing Neon Login - Strobe effect
- Wave Neon Login - Flowing wave
- Ripple Neon Login - Expanding ripples
- Spiral Neon Login - Rotating spiral
- Scanning Neon Login - Moving scanner
- Glitch Neon Login - Digital glitches
- Flicker Neon Login - Flickering lights
- Breathing Neon Login - Slow fade cycle
- Chasing Neon Login - Marquee effect
Category 4: Shape-Based Neon (41-50)
- Circle Neon Login - Circular borders
- Hexagon Neon Login - Honeycomb pattern
- Star Neon Login - Star-shaped glow
- Diamond Neon Login - Diamond pattern
- Zigzag Neon Login - Lightning bolts
- Wave Border Login - Wavy neon lines
- Spike Neon Login - Spiked borders
- Rounded Square Neon - Pill shape
- Oval Neon Login - Oval frame
- Abstract Neon Login - Freeform shapes
Category 5: Themed Neon (51-60)
- 80s Retro Neon Login - Vintage arcade
- Synthwave Neon Login - Sunset grid
- Vaporwave Neon Login - Pastel neon
- Cyberpunk Neon Login - Dark future
- Tron Neon Login - Light cycle style
- Blade Runner Login - Rainy neon
- Miami Vice Login - Pink and teal
- Las Vegas Neon Login - Casino style
- Tokyo Night Login - City lights
- Space Neon Login - Star field
Category 6: Text Effect Neon (61-70)
- Neon Text Only Login - Glowing letters
- Outline Neon Login - Hollow letters
- 3D Neon Login - Extruded text
- Shadow Neon Login - Glowing shadows
- Reflection Neon Login - Mirror effect
- Distorted Neon Login - Warped text
- Stacked Neon Login - Layered text
- Neon Icon Login - Symbol-based
- ASCII Neon Login - Text art
- Pixel Neon Login - Pixelated style
Category 7: Background Effects (71-80)
- Star Field Neon Login - Moving stars
- Grid Neon Login - Neon grid
- Cityscape Neon Login - Skyline
- Matrix Rain Neon Login - Digital rain
- Particle Neon Login - Floating particles
- Smoke Neon Login - Smoke effect
- Fire Neon Login - Flames
- Water Neon Login - Ripples
- Electric Neon Login - Arcs and sparks
- Hologram Neon Login - Holographic
Category 8: Interactive Neon (81-90)
- Hover Glow Login - Glows on hover
- Click Flash Login - Flashes on click
- Type Effect Login - Glows while typing
- Focus Neon Login - Field focus glow
- Error Neon Login - Red flash on error
- Success Neon Login - Green flash on success
- Loading Neon Login - Pulsing while loading
- Drag Neon Login - Follows mouse
- Proximity Neon Login - Mouse distance glow
- Sound Reactive Login - Reacts to sound
Category 9: Special Effects (91-100)
- Holographic Neon Login - Color shifting
- Iridescent Neon Login - Rainbow sheen
- Metallic Neon Login - Shiny metal
- Crystal Neon Login - Faceted effect
- Glass Neon Login - Transparent glow
- Liquid Neon Login - Flowing liquid
- Plasma Neon Login - Energy field
- Aurora Neon Login - Northern lights
- Galaxy Neon Login - Nebula colors
- Quantum Neon Login - Particle waves
Each form maintains the core principles of neon/glow design:
- Dark backgrounds for contrast
- Bright, saturated colors
- Glow effects with multiple layers
- Optional animations for dynamic feel
- Futuristic or retro aesthetic