SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
oscarseguel.com
1
Tips de Componentes UI Java Swing con Netbeans
1.- Conversión de tipos de datos comunes:
El tipo de datos de la propiedad text de la mayoría de los componentes es un String
Ejemplos para convertir a un String, o desde un String a otro tipo de dato:
int numero1 = Integer.valueOf( jtfNumero1.getText() ); //String a int
jtfNumero2.setText(String.valueOf(numero1)); //int a String
2.- Componente JOptionPane; Mostrando un mensaje:
JOptionPane.showMessageDialog(null, "Hola mundo", "título ventana",
JOptionPane.ERROR_MESSAGE);
** Ver más métodos de JOptionPane en las siguientes páginas
3.- Componente JDialog; Manejando un formulario hijo:
Para abrir un formulario JDialog (Si el nombre de la clase que hereda a JDialog es FormularioHijo)
Se haría de la siguiente forma en el formulario padre:
FormularioHijo fh = new FormularioHijo(null, true);
fh.setVisible(true);
Para cerrar un JDialog desde un botón
this.dispose()
4.- Componente JMenuItem; Agregando ítems al menú:
Botón derecho sobre un jMenu (en vista Diseño) y seleccionar MenúÍtem como muestra la imagen
oscarseguel.com
2
5.- Componente JRadioButton; Seleccionando una opción:
Además de los JRadioButton, se debe utilizar un componente ButtonGroup (no visible en el
formulario).
Después de definir los componentes JRadioButton en el formulario, se debe relacionar en cada
uno de ellos la propiedad buttonGroup con el objeto ButtonGroup, para que solo uno se
encuentre seleccionado siempre.
6.- Componente JRadioButton y JCheckBox; ver si se encuentra seleccionado:
Para saber si los objetos JRadioButton o JCheckBox están seleccionados se debe consultar por su
propiedad booleana selected a través del método accesador isSelected():
//Teniendo un componente JRadioButton llamado jrbMasculino
jrbMasculino.isSelected()
7.- Componente JList; Utilizando listas de datos:
Se debe definir un atributo en nuestra clase principal del tipo DefaultListModel
DefaultListModel listModel = new DefaultListModel();
Se debe relacionar la propiedad model del componente JList:
A la derecha de la propiedad model (Ficha properties) se presiona el botón
Se selecciona Custom code
Se establece la propiedad model del componente JList con la variable listModel:
Para agregar ítems al objeto listModel se utiliza el método addElement(Object o), para obtener
ítems get(int i), para eliminar removeElement(Object o), etc.
listModel.addElement(“Item Uno”); //agregando un objeto de tipo String
oscarseguel.com
3
8.- Componente JList; Obteniendo el valor seleccionado:
// Siendo jlEnfermedades un JList
jlEnfermedades.getSelectedValue(); //Retorna un objeto
9.- Componente JList; Obteniendo la cantidad de elementos seleccionados:
// Siendo jlEnfermedades un JList
int total = jlEnfermedades.getSelectedValues().length
10.- Componente JList; Evento doble click:
Se utiliza el método del evento mouseClicked()
jlistaMouseClicked(java.awt.event.MouseEvent evt) //siendo JLista un JList
if (evt.getClickCount()==2) {
// esto se ejecuta al hacer doble click en el JList
}
11.- Componente JComboBox; Seleccionando un ítem de una lista:
Para agregar ítem a un combo (antes limpiar la propiedad model de JComboBox)
// Siendo jcbCargos un JComboBox
jcbCargos.addItem("Cargo 1");
Para obtener el índice del objeto seleccionado:
// Siendo jcbCargos un JComboBox
int i = jcbCargos.getSelectedIndex();
Para obtener el objeto seleccionado:
// Siendo jcbCargos un JComboBox
Object cargo = jcbCargos.getSelectedItem();
oscarseguel.com
4
12.- Componente JOptionPane; Mostrar un dialogo de confirmación:
int resp = JOptionPane.showConfirmDialog(
null,
"Está seguro de que desea eliminar algo?",
"Eliminación",
JOptionPane.YES_NO_OPTION
);
if (resp == JOptionPane.YES_OPTION) {
//lógica en caso que respondan de forma positiva
}
13.- JDialog Centrando la nueva ventana:
Para poder centrar una ventana hija (JDialog) utilizamos la propiedad setLocationRelativeTo
Resultados r = new Resultados(getFrame(), true);
r.setLocationRelativeTo(getFrame());
r.setVisible(true);
14.- FrameView; Cambiando el titulo a nuestra ventana de inicio:
Seleccionar el proyecto, click en propiedades, luego como se muestra en la imagen seleccionar
categoría > Application > Title. Cambiar por el nuevo título de la ventana principal.
15.- Componentes: Cambiar el nombre de variable de un componente
Seleccionar un componente, click en el botón derecho del mouse, seleccionar “Cambiar nombre
de variable”
Luego cambiar a un nombre adecuado con la lógica del formulario:
oscarseguel.com
5
16.- JComboBox + BD: Trabajar con combos con valores desde la base de datos
Las siguientes instrucciones sirven para cargar un combo con valores desde la base de datos,
obtener el valor de un ítem seleccionado, y/o establecer el valor seleccionado de un combo.
Se define una clase llamada Item (una clase normal de Java), con dos atributos encapsulados, uno
para manejar un identificador (id) oculto y otro para manejar el nombre a mostrar en el combo,
además se sobrescribe el método toString para que muestre el valor del atributo nombre, esta
clase sirve para todos los JComboBox a utilizar.
public class Item {
private int id;
private String nombre;
public Item(int id, String nombre) {
this.id = id;
this.nombre = nombre;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String toString() {
return nombre ;
}
}
oscarseguel.com
6
Continuación de JComboBox:
Para cargar el combo desde la base de datos se debe crear una instancia de la clase Item y pasarla
como elemento al combo.
//Ejemplo de un método para cargar un combo
public void cargarComboCargos() throws Exception {
String sql = "select id, nombre_cargo, sueldo from cargo order by id ";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
jcbCargos.addItem(new Item(rs.getInt("id"), rs.getString("nombre_cargo")));
}
}
Notar que cuando se escribe new Item(… se esta creando un objeto de la clase Item y pasándola al
combo.
17.- Componente JComboBox + BD; Obteniendo el valor seleccionado:
Se define un método al cual se le pasa un JComboBox y este retorna el id del elemento
seleccionado.
private int getValorSeleccionadoCombo(JComboBox jCombo) {
Item i = (Item) jCombo.getSelectedItem();
return i.getId();
}
18.- Componente JComboBox + BD; Estableciendo el valor seleccionado:
Se puede definir cual ítem se muestra como seleccionado (por código) pasándole el identificador
al siguiente método:
private void setValorSeleccionadoCombo(JComboBox jCombo, int id) {
for (int i = 0; i < jCombo.getItemCount(); i++) {
Item item = (Item) jCombo.getItemAt(i);
if (item.getId()==id)
jCombo.setSelectedItem(item);
}
}
oscarseguel.com
7
19.- Componente JSPinner; Manipulando fechas
Desde la paleta controles swing se selecciona el componente Spinner y arrastra hasta
el formulario. Después de cambiar el nombre de variable del componente, y para que este pueda
manipular fechas, se debe cambiar el modelo (propiedad model) como se muestra en la imagen.
Notar que se debe cambiar el tipo de modelo a Date
Para obtener el valor de la fecha se puede realizar de la siguiente forma:
// Siendo jspFecha un componente JSPinner
// Obtiene la fecha seleccionada del componente
java.util.Date fecha = (java.util.Date) jspFecha.getValue();
Para establecer el valor de la fecha por código, se puede realizar de la siguiente forma:
// Siendo jspFecha un componente JSPinner
private void setValorJSPFecha(java.util.Date fecha) {
jspFecha.setValue(fecha);
}
20.- Componente JSPinner; Pasando su valor a BD
Si se tiene una tabla llamada “tabla” con un campo timestamp llamado “fecha”, el siguiente
ejemplo sirve para obtener desde un jSpinner la fecha, transfórmalo a un objeto TimeStamp
(fecha/Hora) y grabarlo en el campo “fecha” de la tabla.
//Ejemplo de fecha en JSPinner a base de datos
try {
java.util.Date fecha = (java.util.Date)jspFecha.getValue();
Timestamp fechaCampo = new Timestamp(fecha.getTime());
PreparedStatement ps = con.prepareStatement("update tabla set fecha = ? where id = ?");
ps.setTimestamp(1, fechaCampo);
ps.setInt(2, id);
ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
oscarseguel.com
8
21.- Componente JSPinner; Estableciendo su valor desde BD
Ejemplo de trozo de código:
// Siendo jspFecha un JSPinner, rs un objeto de Resulset, con su cursor apuntando a
// un registro válido, y campo “fecha” de la tabla un timestamp.
Timestamp fechaCampo = rs.getTimestamp("fecha");
fecha = (Timestamp) fechaCampo;
jspFecha.setValue(fecha);

Más contenido relacionado

La actualidad más candente

11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()Clara Patricia Avella Ibañez
 
2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguajeLaura Folgado Galache
 
5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formularios5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formulariosLaura Folgado Galache
 
Introducción a la Progamación en Javascript. Classe 2
Introducción a la Progamación en Javascript. Classe 2Introducción a la Progamación en Javascript. Classe 2
Introducción a la Progamación en Javascript. Classe 2xjordi
 
Codigo De Las Clases Del Proyecto
Codigo De Las Clases Del ProyectoCodigo De Las Clases Del Proyecto
Codigo De Las Clases Del Proyectonahun1385
 
2.android java
2.android   java2.android   java
2.android javaguidotic
 
4. Programación con arrays, funciones, y objetos definidos por el usuario
4. Programación con arrays, funciones, y objetos definidos por el usuario4. Programación con arrays, funciones, y objetos definidos por el usuario
4. Programación con arrays, funciones, y objetos definidos por el usuarioLaura Folgado Galache
 
Métodos constructores, método toString()
Métodos constructores, método toString()Métodos constructores, método toString()
Métodos constructores, método toString()Pablo Macon
 
3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguaje3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguajeLaura Folgado Galache
 
SCJP, Clase 3: Asignaciones
SCJP, Clase 3: AsignacionesSCJP, Clase 3: Asignaciones
SCJP, Clase 3: Asignacionesflekoso
 
Menu con opciones de captura
Menu con opciones de capturaMenu con opciones de captura
Menu con opciones de capturajbersosa
 
Practica Siete Delphi
Practica Siete  DelphiPractica Siete  Delphi
Practica Siete DelphiJose Ponce
 
SCJP, Clase 8: Inner Classes
SCJP, Clase 8: Inner ClassesSCJP, Clase 8: Inner Classes
SCJP, Clase 8: Inner Classesflekoso
 
SCJP, Clase 6: Collections
SCJP, Clase 6: CollectionsSCJP, Clase 6: Collections
SCJP, Clase 6: Collectionsflekoso
 
Drupal7 para desarrolladores
Drupal7 para desarrolladoresDrupal7 para desarrolladores
Drupal7 para desarrolladoresPedro Cambra
 
SCJP, Clase 7: Generics
SCJP, Clase 7: GenericsSCJP, Clase 7: Generics
SCJP, Clase 7: Genericsflekoso
 

La actualidad más candente (20)

11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje
 
5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formularios5. Interacción con el usuario: eventos y formularios
5. Interacción con el usuario: eventos y formularios
 
Introducción a la Progamación en Javascript. Classe 2
Introducción a la Progamación en Javascript. Classe 2Introducción a la Progamación en Javascript. Classe 2
Introducción a la Progamación en Javascript. Classe 2
 
Control de JTable
Control de JTableControl de JTable
Control de JTable
 
Codigo De Las Clases Del Proyecto
Codigo De Las Clases Del ProyectoCodigo De Las Clases Del Proyecto
Codigo De Las Clases Del Proyecto
 
2.android java
2.android   java2.android   java
2.android java
 
4. Programación con arrays, funciones, y objetos definidos por el usuario
4. Programación con arrays, funciones, y objetos definidos por el usuario4. Programación con arrays, funciones, y objetos definidos por el usuario
4. Programación con arrays, funciones, y objetos definidos por el usuario
 
Métodos constructores, método toString()
Métodos constructores, método toString()Métodos constructores, método toString()
Métodos constructores, método toString()
 
3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguaje3. Utilización de los objetos predefinidos del lenguaje
3. Utilización de los objetos predefinidos del lenguaje
 
Clase 2 Poo
Clase 2 PooClase 2 Poo
Clase 2 Poo
 
Herencia
HerenciaHerencia
Herencia
 
SCJP, Clase 3: Asignaciones
SCJP, Clase 3: AsignacionesSCJP, Clase 3: Asignaciones
SCJP, Clase 3: Asignaciones
 
Menu con opciones de captura
Menu con opciones de capturaMenu con opciones de captura
Menu con opciones de captura
 
Practica Siete Delphi
Practica Siete  DelphiPractica Siete  Delphi
Practica Siete Delphi
 
SCJP, Clase 8: Inner Classes
SCJP, Clase 8: Inner ClassesSCJP, Clase 8: Inner Classes
SCJP, Clase 8: Inner Classes
 
SCJP, Clase 6: Collections
SCJP, Clase 6: CollectionsSCJP, Clase 6: Collections
SCJP, Clase 6: Collections
 
Drupal7 para desarrolladores
Drupal7 para desarrolladoresDrupal7 para desarrolladores
Drupal7 para desarrolladores
 
SCJP, Clase 7: Generics
SCJP, Clase 7: GenericsSCJP, Clase 7: Generics
SCJP, Clase 7: Generics
 
53 Php. Clases Y Objetos
53 Php. Clases Y Objetos53 Php. Clases Y Objetos
53 Php. Clases Y Objetos
 

Destacado

Capitulo 1 yaz
Capitulo 1 yazCapitulo 1 yaz
Capitulo 1 yazyazmiki
 
Unidad didactica 5ºEP Lengua
Unidad didactica 5ºEP LenguaUnidad didactica 5ºEP Lengua
Unidad didactica 5ºEP Lenguatac91
 
Erwartungen des alten gastes an den bündner tourismus
Erwartungen des alten gastes an den bündner tourismusErwartungen des alten gastes an den bündner tourismus
Erwartungen des alten gastes an den bündner tourismusFHGR Tourism
 
Diapositivas proyecto ecoleopradino 2014
Diapositivas proyecto ecoleopradino 2014Diapositivas proyecto ecoleopradino 2014
Diapositivas proyecto ecoleopradino 2014Doritaromero
 
BA Prototypische Implementierung einer MediaWiki Extension zur Bewertung der ...
BA Prototypische Implementierung einer MediaWiki Extension zur Bewertung der ...BA Prototypische Implementierung einer MediaWiki Extension zur Bewertung der ...
BA Prototypische Implementierung einer MediaWiki Extension zur Bewertung der ...DariaLoana
 
Treball energies
Treball energiesTreball energies
Treball energiesOlatz12
 
GitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.comGitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.comB1 Systems GmbH
 
Presentación1
Presentación1Presentación1
Presentación1hanydan
 
Spanish book
Spanish bookSpanish book
Spanish bookemrose813
 
Grooming diana 8 2
Grooming diana 8 2Grooming diana 8 2
Grooming diana 8 23176380978
 

Destacado (20)

Capitulo 1 yaz
Capitulo 1 yazCapitulo 1 yaz
Capitulo 1 yaz
 
INTRE SOLUCIÓNS
INTRE SOLUCIÓNSINTRE SOLUCIÓNS
INTRE SOLUCIÓNS
 
Tatoos
Tatoos Tatoos
Tatoos
 
Presentación1
Presentación1Presentación1
Presentación1
 
Ley prov 931
Ley prov 931Ley prov 931
Ley prov 931
 
Unidad didactica 5ºEP Lengua
Unidad didactica 5ºEP LenguaUnidad didactica 5ºEP Lengua
Unidad didactica 5ºEP Lengua
 
Reing
ReingReing
Reing
 
Higiene y seguridad
Higiene y seguridadHigiene y seguridad
Higiene y seguridad
 
Erwartungen des alten gastes an den bündner tourismus
Erwartungen des alten gastes an den bündner tourismusErwartungen des alten gastes an den bündner tourismus
Erwartungen des alten gastes an den bündner tourismus
 
Práctica 1.
Práctica 1.Práctica 1.
Práctica 1.
 
Pliegues
PlieguesPliegues
Pliegues
 
Diapositivas proyecto ecoleopradino 2014
Diapositivas proyecto ecoleopradino 2014Diapositivas proyecto ecoleopradino 2014
Diapositivas proyecto ecoleopradino 2014
 
Yelis yayis
Yelis yayisYelis yayis
Yelis yayis
 
BA Prototypische Implementierung einer MediaWiki Extension zur Bewertung der ...
BA Prototypische Implementierung einer MediaWiki Extension zur Bewertung der ...BA Prototypische Implementierung einer MediaWiki Extension zur Bewertung der ...
BA Prototypische Implementierung einer MediaWiki Extension zur Bewertung der ...
 
Treball energies
Treball energiesTreball energies
Treball energies
 
GitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.comGitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.com
 
Educación física
Educación físicaEducación física
Educación física
 
Presentación1
Presentación1Presentación1
Presentación1
 
Spanish book
Spanish bookSpanish book
Spanish book
 
Grooming diana 8 2
Grooming diana 8 2Grooming diana 8 2
Grooming diana 8 2
 

Similar a Tips componentes swing_v5

Objeto jtable manipulación de datos multidimensionales
Objeto jtable manipulación de datos multidimensionalesObjeto jtable manipulación de datos multidimensionales
Objeto jtable manipulación de datos multidimensionalesLevi Ronald Castro Fernández
 
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.Juan Manuel
 
Ejemplo j internalframe_gine
Ejemplo j internalframe_gineEjemplo j internalframe_gine
Ejemplo j internalframe_ginehrgamaliel
 
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetos3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetosluis freddy
 
Curso de Desarrollo Web 2
Curso de Desarrollo Web 2Curso de Desarrollo Web 2
Curso de Desarrollo Web 2juliocombativo
 
3 desarollo manejo datos capitulo 4 -02 aplicaciones colecciones
3 desarollo manejo datos capitulo 4 -02 aplicaciones colecciones3 desarollo manejo datos capitulo 4 -02 aplicaciones colecciones
3 desarollo manejo datos capitulo 4 -02 aplicaciones coleccionesluis freddy
 
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANSTutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANSWilliam Diaz S
 
Ejercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxEjercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxssuser2e6b96
 
REPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDD
REPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDDREPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDD
REPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDDSandra Campos
 
Carlos blanco resumen mm android controles 10pag v5
Carlos blanco resumen mm android controles 10pag v5Carlos blanco resumen mm android controles 10pag v5
Carlos blanco resumen mm android controles 10pag v5Carlos Blanco
 
Todo Javascript para canibales
Todo Javascript para canibalesTodo Javascript para canibales
Todo Javascript para canibalesbriant pati
 
Javascript de Canibales
Javascript de CanibalesJavascript de Canibales
Javascript de Canibalesbriant pati
 

Similar a Tips componentes swing_v5 (20)

Objeto jtable manipulación de datos multidimensionales
Objeto jtable manipulación de datos multidimensionalesObjeto jtable manipulación de datos multidimensionales
Objeto jtable manipulación de datos multidimensionales
 
C# calculadora
C# calculadoraC# calculadora
C# calculadora
 
P2C2 Introducción a JEE5
P2C2 Introducción a JEE5P2C2 Introducción a JEE5
P2C2 Introducción a JEE5
 
Clase 21 programacion ejb 3.0
Clase 21 programacion ejb 3.0Clase 21 programacion ejb 3.0
Clase 21 programacion ejb 3.0
 
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
Parte II. Notas Rapidas (sticky notes) App W8: MVVM y SQLite.
 
Ejemplo j internalframe_gine
Ejemplo j internalframe_gineEjemplo j internalframe_gine
Ejemplo j internalframe_gine
 
Guia5 java
Guia5 javaGuia5 java
Guia5 java
 
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetos3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
 
Curso de Desarrollo Web 2
Curso de Desarrollo Web 2Curso de Desarrollo Web 2
Curso de Desarrollo Web 2
 
3 desarollo manejo datos capitulo 4 -02 aplicaciones colecciones
3 desarollo manejo datos capitulo 4 -02 aplicaciones colecciones3 desarollo manejo datos capitulo 4 -02 aplicaciones colecciones
3 desarollo manejo datos capitulo 4 -02 aplicaciones colecciones
 
03 action forms
03 action forms03 action forms
03 action forms
 
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANSTutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
 
Ejercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxEjercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docx
 
REPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDD
REPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDDREPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDD
REPORTES JASPERREPORT E IREPORT SIN CONEXIÓN A UNA BBDD
 
Control jtable con base de datos
Control jtable con base de datosControl jtable con base de datos
Control jtable con base de datos
 
Control jtable con base de datos
Control jtable con base de datosControl jtable con base de datos
Control jtable con base de datos
 
Carlos blanco resumen mm android controles 10pag v5
Carlos blanco resumen mm android controles 10pag v5Carlos blanco resumen mm android controles 10pag v5
Carlos blanco resumen mm android controles 10pag v5
 
In 22
In 22In 22
In 22
 
Todo Javascript para canibales
Todo Javascript para canibalesTodo Javascript para canibales
Todo Javascript para canibales
 
Javascript de Canibales
Javascript de CanibalesJavascript de Canibales
Javascript de Canibales
 

Último

SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasLeonardoMendozaDvila
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCarlos Delgado
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfJessLeonelVargasJimn
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdffredyflores58
 
NOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxNOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxJairReyna1
 
Electromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfElectromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfAnonymous0pBRsQXfnx
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRyanimarca23
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
Diagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptxDiagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptxHarryArmandoLazaroBa
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)mendezruben1901
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfAdelaHerrera9
 
Parámetros de Perforación y Voladura. para Plataformas
Parámetros de  Perforación y Voladura. para PlataformasParámetros de  Perforación y Voladura. para Plataformas
Parámetros de Perforación y Voladura. para PlataformasSegundo Silva Maguiña
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...esandoval7
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...humberto espejo
 
Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1victorrodrigues972054
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadANDECE
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 

Último (20)

SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric Project
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdf
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
 
NOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxNOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptx
 
Electromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfElectromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdf
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
Diagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptxDiagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptx
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
 
Parámetros de Perforación y Voladura. para Plataformas
Parámetros de  Perforación y Voladura. para PlataformasParámetros de  Perforación y Voladura. para Plataformas
Parámetros de Perforación y Voladura. para Plataformas
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
 
Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidad
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 

Tips componentes swing_v5

  • 1. oscarseguel.com 1 Tips de Componentes UI Java Swing con Netbeans 1.- Conversión de tipos de datos comunes: El tipo de datos de la propiedad text de la mayoría de los componentes es un String Ejemplos para convertir a un String, o desde un String a otro tipo de dato: int numero1 = Integer.valueOf( jtfNumero1.getText() ); //String a int jtfNumero2.setText(String.valueOf(numero1)); //int a String 2.- Componente JOptionPane; Mostrando un mensaje: JOptionPane.showMessageDialog(null, "Hola mundo", "título ventana", JOptionPane.ERROR_MESSAGE); ** Ver más métodos de JOptionPane en las siguientes páginas 3.- Componente JDialog; Manejando un formulario hijo: Para abrir un formulario JDialog (Si el nombre de la clase que hereda a JDialog es FormularioHijo) Se haría de la siguiente forma en el formulario padre: FormularioHijo fh = new FormularioHijo(null, true); fh.setVisible(true); Para cerrar un JDialog desde un botón this.dispose() 4.- Componente JMenuItem; Agregando ítems al menú: Botón derecho sobre un jMenu (en vista Diseño) y seleccionar MenúÍtem como muestra la imagen
  • 2. oscarseguel.com 2 5.- Componente JRadioButton; Seleccionando una opción: Además de los JRadioButton, se debe utilizar un componente ButtonGroup (no visible en el formulario). Después de definir los componentes JRadioButton en el formulario, se debe relacionar en cada uno de ellos la propiedad buttonGroup con el objeto ButtonGroup, para que solo uno se encuentre seleccionado siempre. 6.- Componente JRadioButton y JCheckBox; ver si se encuentra seleccionado: Para saber si los objetos JRadioButton o JCheckBox están seleccionados se debe consultar por su propiedad booleana selected a través del método accesador isSelected(): //Teniendo un componente JRadioButton llamado jrbMasculino jrbMasculino.isSelected() 7.- Componente JList; Utilizando listas de datos: Se debe definir un atributo en nuestra clase principal del tipo DefaultListModel DefaultListModel listModel = new DefaultListModel(); Se debe relacionar la propiedad model del componente JList: A la derecha de la propiedad model (Ficha properties) se presiona el botón Se selecciona Custom code Se establece la propiedad model del componente JList con la variable listModel: Para agregar ítems al objeto listModel se utiliza el método addElement(Object o), para obtener ítems get(int i), para eliminar removeElement(Object o), etc. listModel.addElement(“Item Uno”); //agregando un objeto de tipo String
  • 3. oscarseguel.com 3 8.- Componente JList; Obteniendo el valor seleccionado: // Siendo jlEnfermedades un JList jlEnfermedades.getSelectedValue(); //Retorna un objeto 9.- Componente JList; Obteniendo la cantidad de elementos seleccionados: // Siendo jlEnfermedades un JList int total = jlEnfermedades.getSelectedValues().length 10.- Componente JList; Evento doble click: Se utiliza el método del evento mouseClicked() jlistaMouseClicked(java.awt.event.MouseEvent evt) //siendo JLista un JList if (evt.getClickCount()==2) { // esto se ejecuta al hacer doble click en el JList } 11.- Componente JComboBox; Seleccionando un ítem de una lista: Para agregar ítem a un combo (antes limpiar la propiedad model de JComboBox) // Siendo jcbCargos un JComboBox jcbCargos.addItem("Cargo 1"); Para obtener el índice del objeto seleccionado: // Siendo jcbCargos un JComboBox int i = jcbCargos.getSelectedIndex(); Para obtener el objeto seleccionado: // Siendo jcbCargos un JComboBox Object cargo = jcbCargos.getSelectedItem();
  • 4. oscarseguel.com 4 12.- Componente JOptionPane; Mostrar un dialogo de confirmación: int resp = JOptionPane.showConfirmDialog( null, "Está seguro de que desea eliminar algo?", "Eliminación", JOptionPane.YES_NO_OPTION ); if (resp == JOptionPane.YES_OPTION) { //lógica en caso que respondan de forma positiva } 13.- JDialog Centrando la nueva ventana: Para poder centrar una ventana hija (JDialog) utilizamos la propiedad setLocationRelativeTo Resultados r = new Resultados(getFrame(), true); r.setLocationRelativeTo(getFrame()); r.setVisible(true); 14.- FrameView; Cambiando el titulo a nuestra ventana de inicio: Seleccionar el proyecto, click en propiedades, luego como se muestra en la imagen seleccionar categoría > Application > Title. Cambiar por el nuevo título de la ventana principal. 15.- Componentes: Cambiar el nombre de variable de un componente Seleccionar un componente, click en el botón derecho del mouse, seleccionar “Cambiar nombre de variable” Luego cambiar a un nombre adecuado con la lógica del formulario:
  • 5. oscarseguel.com 5 16.- JComboBox + BD: Trabajar con combos con valores desde la base de datos Las siguientes instrucciones sirven para cargar un combo con valores desde la base de datos, obtener el valor de un ítem seleccionado, y/o establecer el valor seleccionado de un combo. Se define una clase llamada Item (una clase normal de Java), con dos atributos encapsulados, uno para manejar un identificador (id) oculto y otro para manejar el nombre a mostrar en el combo, además se sobrescribe el método toString para que muestre el valor del atributo nombre, esta clase sirve para todos los JComboBox a utilizar. public class Item { private int id; private String nombre; public Item(int id, String nombre) { this.id = id; this.nombre = nombre; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public String toString() { return nombre ; } }
  • 6. oscarseguel.com 6 Continuación de JComboBox: Para cargar el combo desde la base de datos se debe crear una instancia de la clase Item y pasarla como elemento al combo. //Ejemplo de un método para cargar un combo public void cargarComboCargos() throws Exception { String sql = "select id, nombre_cargo, sueldo from cargo order by id "; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { jcbCargos.addItem(new Item(rs.getInt("id"), rs.getString("nombre_cargo"))); } } Notar que cuando se escribe new Item(… se esta creando un objeto de la clase Item y pasándola al combo. 17.- Componente JComboBox + BD; Obteniendo el valor seleccionado: Se define un método al cual se le pasa un JComboBox y este retorna el id del elemento seleccionado. private int getValorSeleccionadoCombo(JComboBox jCombo) { Item i = (Item) jCombo.getSelectedItem(); return i.getId(); } 18.- Componente JComboBox + BD; Estableciendo el valor seleccionado: Se puede definir cual ítem se muestra como seleccionado (por código) pasándole el identificador al siguiente método: private void setValorSeleccionadoCombo(JComboBox jCombo, int id) { for (int i = 0; i < jCombo.getItemCount(); i++) { Item item = (Item) jCombo.getItemAt(i); if (item.getId()==id) jCombo.setSelectedItem(item); } }
  • 7. oscarseguel.com 7 19.- Componente JSPinner; Manipulando fechas Desde la paleta controles swing se selecciona el componente Spinner y arrastra hasta el formulario. Después de cambiar el nombre de variable del componente, y para que este pueda manipular fechas, se debe cambiar el modelo (propiedad model) como se muestra en la imagen. Notar que se debe cambiar el tipo de modelo a Date Para obtener el valor de la fecha se puede realizar de la siguiente forma: // Siendo jspFecha un componente JSPinner // Obtiene la fecha seleccionada del componente java.util.Date fecha = (java.util.Date) jspFecha.getValue(); Para establecer el valor de la fecha por código, se puede realizar de la siguiente forma: // Siendo jspFecha un componente JSPinner private void setValorJSPFecha(java.util.Date fecha) { jspFecha.setValue(fecha); } 20.- Componente JSPinner; Pasando su valor a BD Si se tiene una tabla llamada “tabla” con un campo timestamp llamado “fecha”, el siguiente ejemplo sirve para obtener desde un jSpinner la fecha, transfórmalo a un objeto TimeStamp (fecha/Hora) y grabarlo en el campo “fecha” de la tabla. //Ejemplo de fecha en JSPinner a base de datos try { java.util.Date fecha = (java.util.Date)jspFecha.getValue(); Timestamp fechaCampo = new Timestamp(fecha.getTime()); PreparedStatement ps = con.prepareStatement("update tabla set fecha = ? where id = ?"); ps.setTimestamp(1, fechaCampo); ps.setInt(2, id); ps.executeUpdate(); } catch (Exception e) { e.printStackTrace(); }
  • 8. oscarseguel.com 8 21.- Componente JSPinner; Estableciendo su valor desde BD Ejemplo de trozo de código: // Siendo jspFecha un JSPinner, rs un objeto de Resulset, con su cursor apuntando a // un registro válido, y campo “fecha” de la tabla un timestamp. Timestamp fechaCampo = rs.getTimestamp("fecha"); fecha = (Timestamp) fechaCampo; jspFecha.setValue(fecha);