Nuestra primera ventana: Ejemplo login

En este tutorial desarrollaremos nuestra primera ventana desde cero. Hasta ahora hemos estado utilizando ventanas predefinidas pero a continuación realizaremos una ventana y sus componentes hechos a medida. Utilizaremos el típico ejemplo de ventana que rellenamos cuando nos logueamos o registramos en alguna aplicación.

La ventana de nuestro ejemplo tendrá como nombre "Demo application", una etiqueta "user", otra "password", dos cajas para insertar los correspondientes datos y dos botones; "login" y "register"

En el código a continuación, vemos como en el método main, se crea una ventana y se añaden los componentes creados a través del método "placeComponents".

Por otro lado en el método "placeComponents" se crea uno a uno todos los componentes (JLabels, JTextField, JPasswordField, JButton). Con el método setBounds se les da coordenadas para su localización en la ventana así como dimensiones de ancho y alto, añadiéndolos después a la ventana a través del método add de la clase Panel.

package com.edu4java.swing.tutrial3;

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

public class LoginView {

	public static void main(String[] args) {
		JFrame frame = new JFrame("Demo application");
		frame.setSize(300, 150);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		JPanel panel = new JPanel();
		frame.add(panel);
		placeComponents(panel);

		frame.setVisible(true);
	}

	private static void placeComponents(JPanel panel) {

		panel.setLayout(null);

		JLabel userLabel = new JLabel("User");
		userLabel.setBounds(10, 10, 80, 25);
		panel.add(userLabel);

		JTextField userText = new JTextField(20);
		userText.setBounds(100, 10, 160, 25);
		panel.add(userText);

		JLabel passwordLabel = new JLabel("Password");
		passwordLabel.setBounds(10, 40, 80, 25);
		panel.add(passwordLabel);

		JPasswordField passwordText = new JPasswordField(20);
		passwordText.setBounds(100, 40, 160, 25);
		panel.add(passwordText);

		JButton loginButton = new JButton("login");
		loginButton.setBounds(10, 80, 80, 25);
		panel.add(loginButton);
		
		JButton registerButton = new JButton("register");
		registerButton.setBounds(180, 80, 80, 25);
		panel.add(registerButton);
	}

}


<< Anterior Siguiente >>