JRadioButton
Los botones de opción JRadioButton se utilizan para seleccionar solo un elemento de un conjunto de elementos. La diferencia principal de un JCheckBox y un JRadioButton radica principalmente en ésta característica, ya que un conjunto de JRadioButton solo puedes seleccionar un elemento, mientras que, en un conjunto de JCheckBox puedes seleccionar uno, varios o todos los elementos.
Otra característica importante es que el JRadioButton se identifica generalmente como listas con círculos.
Por último tenemos al ButtonGroup, los radiobutton por si solos no pueden ser mutuamente excluyentes, porque son elementos individuales y si no usamos buttonGroup tendríamos que validar esa característica desde código, pero con un buttonGroup lo hacemos automáticamente.
Imaginemos el ButtonGroup como una caja, donde tendremos unas bolitas -los radiobutton- y cerramos la caja, ahora hacemos una salida en la caja por la cual solo puede pasar una bolita a la vez pero, con la condición de que solo puedes sacar una bolita y si la quieres cambiar tienes que devolverla a la caja, entonces si queremos una bolita podremos sacar una -solamente una-, no podemos hacernos de ninguna más, si queremos otra tendremos que devolver la bolita actual y tomar la otra, en caso contrario los checkbox podemos tener todas las bolitas que queramos.
Desarollo
1
2 3 4
5
6
7
8
9
10
| //Método que retorna el radiobutton private JRadioButton getJRb() { //inicializamos JRadioButton jRb = new JRadioButton(); //seleccionamos por defecto jRb .setSelected( true ); //posicionamos jRb .setBounds( 80 , 100 , 20 , 20 ); //retornamos el objeto return jRb; } |
Es más util usar el selected(boolean) en los radiobutton, para que siempre exista una opción por defecto y no quede vacío.
Bien ya sabemos crearlos entonces, vamos a hacer un ejemplo rápido con este elemento e integramos el buttonGroup, primero crearemos: tres Jlabel para los textos y dos Checkbox, acá les dejo el código de todos ellos:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| private JLabel getJLbllGenero() { JLabel jLblGenero = new JLabel( "Genero" ); jLblGenero .setBounds( 10 , 80 , 80 , 30 ); return jLblGenero; } private JLabel getJLblMasculino() { JLabel jLblMasculino = new JLabel( "Masculino" ); jLblMasculino .setBounds( 10 , 100 , 80 , 30 ); return jLblMasculino; } private JLabel getJLblFemenino() { JLabel jLblFemenino = new JLabel( "Femenino" ); jLblFemenino .setBounds( 10 , 115 , 80 , 30 ); return jLblFemenino; } private JRadioButton getJRbMasculino() { JRadioButton jRbMasculino = new JRadioButton(); jRbMasculino .setSelected( true ); radio1.setBounds( 80 , 100 , 20 , 20 ); return jRbMasculino; } private JRadioButton getJRbFemenino() { JRadioButton jRbFemenino = new JRadioButton(); jRbFemenino .setBounds( 80 , 120 , 20 , 20 ); return jRbFemenino; } |
Hasta ahora todo normal, entonces vamos a crear el ButtonGroup con el siguiente código:
1
2
3
4
5
6
7
8
9
| //Creación del grupo de botones recibe nuestro jRadioButton creados //anteriormente private void getButtonGroup (JRadioButton jRbMasculino, JRadioButton jRbFemenino){ //creamos el objeto ButtonGroup btgSexo= new ButtonGroup(); //añadimos al grupo el primer radioButton bgroup.add(jRbMasculino); //añadimos al grupo el segundo radioButton bgroup.add(jRbFemenino); }
|
Finalmente agregamos todos los elementos al JFrame, mi costructor quedaría así:
1
2
3
4
5
6
| public Checs() { inicializador();
add(getJLblSexo()); add(getJLblMasculino()); add(getJLblFemenino()); |
1
2
3
4
5
| // acá se añaden los radiobutton al buttongruop getButtonGroup(getJRbMasculino(), getJRbFemenino()); add( this .jRbMasculino); add( this .jRbFemenino); }
|
JTable
JTable es una herramienta visual de Java que sirve para poder dibujar tablas, con sus respectivas filas y columnas en donde puedes ingresar el dato que tu desees, como por ejemplo: tu nombre, tu rut, tu apellido, entre otros.
Para poder usar bien la herramienta JTable, es necesario trabajar con otras herramientas que están vinculadas a su desarrollo, para poder así tener un mejor funcionamiento en el momento de implementar una tabla. Estas herramientas son:
1.- DefaultTableModel
2.- JScrollPane
3.- JFrame
4.- JPanel
5.- awt(abstract windows toolkit o herramienta de ventana abstracta)
El DefaultTableModel es una clase que implementa TableModel que contiene todos los métodos necesarios para modificar datos en su interior, añadir filas o columnas y darle a cada columna el nombre que se desee. Para utilizar DefaultTableModel debemos importarla y luego declararla para luego poder usar la clase JTable, un ejemplo es:
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
DefaultTableModel dtmModelo = new DefaultTableModel();
JTable tabla = new JTable (dtmModelo);
La siguiente herramienta es el JScrollPane, es una clase importada en swing que permite asociarle una pequeña vista o ventana deslizable o corrediza, que permite solo que se vea una parte de dicho complemento en la tabla. Para poder usarlo, importamos la clase y luego la declaramos, un ejemplo sería:
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.JScrollPane;
DefaultTableModel dtmModelo = new DefaultTableModel();
JTable tabla = new JTable (dtmModelo);
JSrollPane scrollpane = new JScrollPane(tabla);
Un JFrame es una clase que implementa como una instancia un frame que es una ventana con decoraciones, tales como: bordes, títulos y botones(íconos y para cerrar la ventana). Para poder utilizar esta herramienta hacemos los siguiente:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class HolaMundo{
public static void main(String [] args){
JFrame frame = new JFrame("HolaMundoSwing");
......
frame.pack();
frame.setVisible(true);
}
}
Un JPanel es un contenedor ligero genérico que tiene la finalidad de "caja" donde tu puedes ir insertando cosas y así puedes manejarlos como una agrupación. Un ejemplo donde se implementa esta herramienta es:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class PanelSolo {
public static void main(String[] args) {
JFrame jFrmVentana = new JFrame("Ejemplo");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel jPanPanel1 = new JPanel();
JPanel jPanPanel2 = new JPanel();
JPanel jPanPanel3 = new JPanel();
JPanel jPanPanel4 = new JPanel();
JPanel jPanPanel5 = new JPanel();
jFrmVentana.add(jPanPanel1,"North");
jFrmVentana
jPanPanel2
jFrmVentana
jPanPanel3
jFrmVentana
jPanPanel4
,"Center");
jFrmVentana
jPanPanel5
,"East");
// Coloreo para distinguir los paneles.
jPanPanel1.setBackground(Color.blue);
jPanPanel1
jPanPanel1
jFrmVentana
.pack();
jFrmVentana
.setVisible(true);
}
}
Por último esta el paquete awt(abstract windows toolkit o herramienta de ventana abstracta), es un kit de herramientas de gráficos, interfaz de usuario, y sistema de ventanas independientes de la plataforma de Java.
Luego de explicar cada definición de las herramientas y un ejemplo de uso, vamos ahora a mostrar un ejemplo completo con todos los elementos que son utilizados para complementar la tabla. El ejemplo es el siguiente:
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.JScrollPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.*;
public class EjemploTabla extends JFrame {
public EjemploTabla() {
super("Tabla de usuarios");
//array bidimencional de objetos con los datos de la tabla
Object[][] data = {"Daniel", "Villar","Esquiar", new Integer(5), new Boolean(false)},
{"Carlos", "Villar","Patinar", new Integer(3), new Boolean(true)},
{"Karinna", "Villar","Escalar", new Integer(2), new Boolean(false)},
{"Mario", "Diaz","Correr", new Integer(7), new Boolean(true)},
{"Sylvia", "Uribe","Modelar", new Integer(4), new Boolean(false)}};
//array de String's con los títulos de las columnas
String[] columnNames = {"Nombre","Apellido","Pasatiempo","Años de Practica","Soltero(a)"};
//creamos el Modelo de la tabla con los datos anteriores
DefaultTableModel dtm= new DefaultTableModel(data, columnNames);
//se crea la Tabla con el modelo DefaultTableModel
final JTable jTable = new JTable(dtm);
// una vez creada la tabla con su modelo
// podemos agregar columnas
String[] newColumn= {"Flan","Pastel","Helado","Barquillo","Manzana" };
dtm.addColumn("Postre",newColumn);
//filas
Object[] newRow={"Pepe", "Grillo","Tenis", new Integer(5), new Boolean(false), "Pera"};
dtm.addRow(newRow);
//o modificar una celda en especifico
dtm.setValueAt("Catherine", 1, 1);
//se define el tamaño
jTable.setPreferredScrollableViewportSize(new Dimension(500, 70));
//Creamos un JscrollPane y le agregamos la JTable
JScrollPane jScpTabla = new JScrollPane(table);
//Agregamos el JScrollPane al contenedor
getContentPane().add(jScpTabla, BorderLayout.CENTER);
//manejamos la salida
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public static void main(String[] args) {
EjemploTabla frame = new EjemploTabla();
frame.pack();
frame.setVisible(true);
}
}
ArrayList
La diferencia entre una matriz incorporada y una
ArrayList
en Java, es que el tamaño de una matriz no se puede modificar (si desea agregar o eliminar elementos a / de una matriz, debe crear una nueva). Mientras que los elementos se pueden agregar y quitar de un ArrayList
cuando quieras. La sintaxis también es ligeramente diferente:Ejemplo
Crea un
ArrayList
objeto llamado coches que almacenará cadenas:
import java.util.ArrayList; // import the ArrayList class
ArrayList<String> cars = new ArrayList<String>(); // Create an ArrayList object
Agregar articulos
La
ArrayList
clase tiene muchos métodos útiles. Por ejemplo, para agregar elementos al ArrayList
, use el add()
método:Ejemplo
import java.util.ArrayList;
public class MyClass {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars);
}
}
Acceder a un artículo
Para acceder a un elemento en el
ArrayList
, use el get()
método y consulte el número de índice:Ejemplo
cars.get(0);
Cambiar un articulo
Para modificar un elemento, use el
set()
método y consulte el número de índice:Ejemplo
cars.set(0, "Opel");
Quitar un articulo
Para eliminar un elemento, use el
remove()
método y consulte el número de índice:Ejemplo
cars.remove(0);
Tamaño de ArrayList
Para averiguar cuántos elementos tiene un ArrayList, use el
size
método:Ejemplo
cars.size();
Recorrer a través de un ArrayList
Recorra los elementos de a
ArrayList
con un for
bucle y use el size()
método para especificar cuántas veces debe ejecutarse el bucle:Ejemplo
public class MyClass {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
for (int i = 0; i < cars.size(); i++) {
System.out.println(cars.get(i));
}
}
}
También se puede recorrer una
ArrayList
con el bucle for-each:Ejemplo
public class MyClass {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
for (String i : cars) {
System.out.println(i);
}
}
}
Otros tipos
Los elementos en un ArrayList son en realidad objetos. En los ejemplos anteriores, creamos elementos (objetos) de tipo "Cadena". Recuerde que una Cadena en Java es un objeto (no un tipo primitivo). Para utilizar otros tipos, tales como int, debe especificar una clase de contenedor equivalente:
Integer
. Para otros tipos primitivos, use: Boolean
para boolean, Character
para char, Double
para doble, etc:Ejemplo
Crear un
ArrayList
para almacenar números (agregar elementos de tipo Integer
):
import java.util.ArrayList;
public class MyClass {
public static void main(String[] args) {
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(10);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(25);
for (int i : myNumbers) {
System.out.println(i);
}
}
}
Ordenar una lista de Array
Otra clase útil en el
java.util
paquete es la Collections
clase, que incluye el sort()
método para ordenar las listas alfabética o numéricamente:Ejemplo
Ordenar una lista de arrays de cuerdas:
import java.util.ArrayList;
import java.util.Collections; // Import the Collections class
public class MyClass {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
Collections.sort(cars); // Sort cars
for (String i : cars) {
System.out.println(i);
}
}
}
No hay comentarios.:
Publicar un comentario