Member
Member
Hola amigos aqui les dejo un poco de códigos especialmente para los chicos que le guste experimentar: A continuación compartire como crear una ventana usando Eclipse o Netbean: Son algunos de software preferidos para la programación. (Primera Parte)
// CREACION DE UNA VENTANA
// Bloque de declaración de clases importadas
import javax.swing.*;
//import javax.swing.JFrame;
//import javax.swing.JLabel;
//import javax.swing.JOptionPane;
//import javax.swing.JTextField;
/** Clase Ventana
* Muestra la estructuta que deberia tener una Ventana en Java con la librería Swing, contiene una etiqueta, un caja de texto y un boton, que tiene la accion de mostrar el texto en la caja por una ventana de mensaje.
* @author Daniel Alvarez (a3dany)
*/
public class Ventana extends JFrame {
public Ventana() {
super(); // usamos el contructor de la clase padre JFrame
configurarVentana(); // configuramos la ventana
}
private void configurarVentana() {
this.setTitle("Mi primer Ventana"); // colocamos titulo a la ventana
this.setSize(410, 210); // colocamos tamanio a la ventana (ancho, alto)
this.setLocationRelativeTo(null); // centramos la ventana en la pantalla
this.setLayout(null); // no usamos ningun layout, solo asi podremos dar posiciones a los componentes
this.setResizable(false); // hacemos que la ventana no sea redimiensionable
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // hacemos que cuando se cierre la ventana termina todo proceso
}
public static void main(String[] args) {
Ventana V = new Ventana(); // creamos una ventana
V.setVisible(true); // hacemos visible la ventana creada
}
}
EJEMPLO 2
/ CREACION DE UNA VENTANA CON UNA ETIQUETA
/ Bloque de declaración de clases importadas
import javax.swing.*;
//import javax.swing.JFrame;
//import javax.swing.JLabel;
//import javax.swing.JOptionPane;
//import javax.swing.JTextField;
/**
* Clase Ventana
* Muestra la estructuta que deberia tener una Ventana en Java con la libreria
* Swing, contiene una etiqueta, un caja de texto y un boton, que tiene la
* accion de mostrar el texto en la caja por una ventana de mensaje.
* @author Daniel Alvarez (a3dany)
*/
public class Ventana extends JFrame {
private JLabel texto; // etiqueta o texto no editable
public Ventana() {
super(); // usamos el contructor de la clase padre JFrame
configurarVentana(); // configuramos la ventana
inicializarComponentes(); // inicializamos los atributos o componentes
}
private void configurarVentana() {
this.setTitle("Mi primer Ventana"); // colocamos titulo a la ventana
this.setSize(410, 210); // colocamos tamanio a la ventana (ancho, alto)
this.setLocationRelativeTo(null); // centramos la ventana en la pantalla
this.setLayout(null); // no usamos ningun layout, solo asi podremos dar posiciones a los componentes
this.setResizable(false); // hacemos que la ventana no sea redimiensionable
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // hacemos que cuando se cierre la ventana termina todo proceso
}
private void inicializarComponentes() {
// creamos los componentes
texto = new JLabel();
// configuramos los componentes
texto.setText("Escriba un nombre"); // colocamos un texto a la etiqueta
texto.setBounds(50, 50, 150, 25); // colocamos posicion y tamanio al texto (x, y, ancho, alto)
// adicionamos los componentes a la ventana
this.add(texto);
}
public static void main(String[] args) {
Ventana V = new Ventana(); // creamos una ventana
V.setVisible(true); // hacemos visible la ventana creada
}
}
EJEMPLO 3
// CREACION DE VENTANA CON UNA ETIQUETA
// Bloque de declaración de clases importadas
import javax.swing.*;
//import javax.swing.JFrame;
//import javax.swing.JLabel;
//import javax.swing.JOptionPane;
//import javax.swing.JTextField;
/**
* Clase Ventana
* Muestra la estructuta que deberia tener una Ventana en Java con la libreria
* Swing, contiene una etiqueta, un caja de texto y un boton, que tiene la
* accion de mostrar el texto en la caja por una ventana de mensaje.
* @author Daniel Alvarez (a3dany)
*/
public class Ventana extends JFrame {
private JLabel texto; // etiqueta o texto no editable
private JTextField caja; // caja de texto, para insertar datos
// boton con una determinada accion
public Ventana() {
super(); // usamos el contructor de la clase padre JFrame
configurarVentana(); // configuramos la ventana
inicializarComponentes(); // inicializamos los atributos o componentes
}
private void configurarVentana() {
this.setTitle("Mi primer Ventana"); // colocamos titulo a la ventana
this.setSize(410, 210); // colocamos tamanio a la ventana (ancho, alto)
this.setLocationRelativeTo(null); // centramos la ventana en la pantalla
this.setLayout(null); // no usamos ningun layout, solo asi podremos dar posiciones a los componentes
this.setResizable(false); // hacemos que la ventana no sea redimiensionable
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // hacemos que cuando se cierre la ventana termina todo proceso
}
private void inicializarComponentes() {
// creamos los componentes
texto = new JLabel();
caja = new JTextField();
// configuramos los componentes
texto.setText("Escriba un nombre"); // colocamos un texto a la etiqueta
texto.setBounds(50, 50, 150, 25); // colocamos posicion y tamanio al texto (x, y, ancho, alto)
caja.setBounds(175, 50, 100, 25); // colocamos posicion y tamanio a la caja (x, y, ancho, alto)
// adicionamos los componentes a la ventana
this.add(texto);
this.add(caja);
}
public static void main(String[] args) {
Ventana V = new Ventana(); // creamos una ventana
V.setVisible(true); // hacemos visible la ventana creada
}
}
EJEMPLO 4
// Bloque de declaración de clases importadas
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
//import javax.swing.JFrame;
//import javax.swing.JLabel;
//import javax.swing.JOptionPane;
//import javax.swing.JTextField;
/**
* Clase Ventana
* Muestra la estructuta que deberia tener una Ventana en Java con la libreria
* Swing, contiene una etiqueta, un caja de texto y un boton, que tiene la
* accion de mostrar el texto en la caja por una ventana de mensaje.
* @author Daniel Alvarez (a3dany)
*/
public class Ventana extends JFrame implements ActionListener {
private JLabel texto; // etiqueta o texto no editable
private JTextField caja; // caja de texto, para insertar datos
private JButton boton; // boton con una determinada accion
public Ventana() {
super(); // usamos el contructor de la clase padre JFrame
configurarVentana(); // configuramos la ventana
inicializarComponentes(); // inicializamos los atributos o componentes
}
private void configurarVentana() {
this.setTitle("Mi primer Ventana"); // colocamos titulo a la ventana
this.setSize(410, 210); // colocamos tamanio a la ventana (ancho, alto)
this.setLocationRelativeTo(null); // centramos la ventana en la pantalla
this.setLayout(null); // no usamos ningun layout, solo asi podremos dar posiciones a los componentes
this.setResizable(false); // hacemos que la ventana no sea redimiensionable
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // hacemos que cuando se cierre la ventana termina todo proceso
}
private void inicializarComponentes() {
// creamos los componentes
texto = new JLabel();
caja = new JTextField();
boton = new JButton();
// configuramos los componentes
texto.setText("Escriba un nombre"); // colocamos un texto a la etiqueta
texto.setBounds(50, 50, 180, 25); // colocamos posicion y tamanio al texto (x, y, ancho, alto)
caja.setBounds(200, 50, 100, 25); // colocamos posicion y tamanio a la caja (x, y, ancho, alto)
boton.setText("Mi Mensaje"); // colocamos un texto al boton
boton.setBounds(50, 100, 200, 30); // colocamos posicion y tamanio al boton (x, y, ancho, alto)
boton.addActionListener(this); // hacemos que el boton tenga una accion y esa accion estara en esta clase
// adicionamos los componentes a la ventana
this.add(texto);
this.add(caja);
this.add(boton);
}
@oVeRRiDe
public void actionPerformed(ActionEvent e) {
String nombre = caja.getText(); // obtenemos el contenido de la caja de texto
JOptionPane.showMessageDialog(this, "Hola " + nombre + "."); // mostramos un mensaje (frame, mensaje)
}
public static void main(String[] args) {
Ventana V = new Ventana(); // creamos una ventana
V.setVisible(true); // hacemos visible la ventana creada
}
}
En el proximo tema le comparto el ejemplo completo
Aquí concluyo con esta 2 parte y lo dejamos con el ejemplo completo.
/* EJEMPLO COMPLETO
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package probandoswing;
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.*;
/**
*
* @author delfin.sanchez
*/
public class VentanaMain {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
// FRAME
JFrame ventana = new JFrame("Ventana principal de Probando Swing");
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
FlowLayout layout = new FlowLayout(FlowLayout.CENTER, 25, 25);
ventana.setLayout(layout);
// PANEL
JPanel panel = new JPanel(layout);
panel.setSize(new Dimension(700, 350));
panel.setBackground(Color.ORANGE);
panel.setPreferredSize(new Dimension(700, 350));
ventana.add(panel);
// DEFINIMOS ESCUCHADOR DE EVENTOS PARA CUANDO HAGAMOS CLICK SOBRE LOS BOTONES
ActionListener escuchador = (ActionEvent ae) -> {
JButton boton = (JButton) ae.getSource();
String nombreBoton = boton.getText();
switch (nombreBoton) {
case "Botón 1":
panel.setBackground(Color.YELLOW);
break;
case "Botón 2":
panel.setBackground(Color.BLUE);
break;
case "Botón 3":
panel.setBackground(Color.BLACK);
break;
case "Botón 4":
panel.setBackground(Color.CYAN);
break;
case "Botón 5":
panel.setBackground(Color.GREEN);
break;
case "Botón 6":
panel.setBackground(Color.MAGENTA);
break;
case "Botón 7":
panel.setBackground(Color.PINK);
break;
}
};
// BOTONES
String titulosBotones[] = {"Botón 1", "Botón 2", "Botón 3", "Botón 4", "Botón 5", "Botón 6", "Botón 7"};
for (String tituloBoton : titulosBotones) {
JButton boton = new JButton(tituloBoton);
boton.setSize(new Dimension(150, 80));
ventana.add(boton);
boton.addActionListener(escuchador);
}
// PANEL --> Area de Texto
String textoCualquiera = "Joachim Löw celebró jugar la final del Mundial de Brasil frente a Argentina, "
+ "un duelo que calificó de \"magnífica constelación\". \"Europa contra Sudamérica. Una magnífica "
+ "constelación\", dijo el seleccionador alemán tras la victoria de Argentina ante Holanda en la "
+ "segunda semifinal.\n"
+ "\"Argentina es fuerte defensivamente, compacta, bien organizada\", comentó Löw. \"En ataque "
+ "tienen jugadores extraordinarios como Messi e Higuaín. Nos vamos a preparar bien y nos "
+ "alegramos del partido en Río\", prosiguió el preparador alemán.\n"
+ "Argentina y Alemania se enfrentarán el domingo en Maracaná por tercera vez en una final de un "
+ "Mundial. Argentina, liderarda por Diego Armando Maradona, se impuso por 3-2 en la final de "
+ "México'86, mientras que Alemania se tomó revancha en Italia'90 venciendo por 1-0.\n"
+ "\n"
+ "\n"
+ "Leer mᅵs: Alemania-Argentina: Löw ve la final frente a Argentina como una \"magnífica "
+ "constelación\" - MARCA.com";
JTextArea texto = new JTextArea("", 15, 40);
texto.setText(textoCualquiera);
texto.setFont(new Font("Monospace", Font.PLAIN, 14));
texto.setLineWrap(true);
texto.setWrapStyleWord(true);
texto.setForeground(Color.WHITE);
texto.setBackground(Color.BLUE);
// SCROLL
JScrollPane scroll = new JScrollPane(texto);
panel.add(scroll);
// ETIQUETA
JLabel etiqueta = new JLabel("En esta etiqueta comento que la ventana tiene " + titulosBotones.length + " botones.");
etiqueta.setForeground(Color.RED);
etiqueta.setFont(new Font("Serif", Font.BOLD, 20));
ventana.add(etiqueta);
// END
ventana.setSize(800, 600);
ventana.setVisible(true);
}
}
Sabes que todo eso lo puedes resumir ??? el Net Beans trae facilidades para el trabajo de aplicaciones de escritorio, y muy fácil la integración de componentes a las misma como Jlabel, jTextField, jButtom, etc, no hay que aprender tanto código como ahí escribes, solo necsitas aprender lo que hace o a lo que se refiere, que para eso estan los javadocs que te explican para que funciona lo que usas, jaja pregunten lo que deseen conocer sobre JAVA; ya sea básico como avanzado saludos, Luke(Java Fan)