- Mi Primer Programa Java: descargar...
- Mi Primer Programa Java (Actualizado 10-02-2011) : descargar...
- Mi Primer Programa Java (Actualizado 15-02-2011): descargar...
- Ejemplo Desarrollo en Laboratorio (Actualizado 22-02-2011): descargar...
- Ejemplo Desarrollo en Laboratorio (Actualizado 24-02-2011): descargar...
- Ejemplo Desarrollo en Lab. Colecciones (Actualizado 02-03-2011): descargar...
- Ejemplo Desarrollo en Lab. Swing (Actualizado 15-03-2011): descargar...
- Ejemplo Desarrollo en Lab. Swing (Actualizado 24-03-2011): descargar...
- Ejemplo Desarrollo en Lab. Swing (Actualizado 01-04-2011): descargar...
"Algo sólo es imposible hasta que alquien lo dude y termine probando lo contrario" Albert Einstein
viernes, 28 de enero de 2011
Códigos Fuentes
miércoles, 26 de enero de 2011
Foro de Discusión
lunes, 24 de enero de 2011
miércoles, 19 de enero de 2011
Uso de Subclases en JAVA
/**
* @author lchinchilla
* @date 19/01/2011
*
* Uso de subclases dentro de un mismo archivo *.java
*
* Palabras claves: public, class, package, this, método main
*
*/
public class Subclases {
/**
* definición de mi primer subclase dentro de la clase principal
* Observese que la clase es estatica ya que al declararse en el metodo main se requiere
*/
static class MiPrimerSubclase {
//Construtor MiPrimerSubclase
public MiPrimerSubclase() {
System.out.println("MiPrimerSubclase: Estoy dentro de la clase principal");
}
/**
* nota: MiPrimerSubclase solo existe en el ambito de la clase principal, es decir, NO
* podriamos hacer una instancia de esta clase dentro de la subclase MiSegundaSubclase
*/
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
//Instancias de mis subclases.
//sublase que esta dentro del ambito de la clase principal
MiPrimerSubclase subclase1 = new MiPrimerSubclase();
//subclase que esta fuera del ambito de la clase principal
MiSegundaSubclase subclase2 = new MiSegundaSubclase();
}
}
/**
* definición de mi primer subclase fuera de la clase principal
* Notese: que ya existe una subclase MiPrimerSubclase, pero la anterios solo existe en el ambito de la clase principal.
* otra diferencia es que esta no es requerido que se declare estatica
*/
class MiPrimerSubclase {
//Construtor MiPrimerSubclase
public MiPrimerSubclase() {
System.out.println("MiPrimerSubclase: Estoy fuera de la clase principal");
}
}
/**
* definición de mi segunda subclase fuera de la clase principal
*/
class MiSegundaSubclase {
//Construtor MiSegundaSubclase
public MiSegundaSubclase() {
System.out.println("MiSegundaSubclase: Estoy fuera de la clase principal");
//Llamando una subclase dentro de otra
MiPrimerSubclase subclase3 = new MiPrimerSubclase();
}
}
Entradas Blog
Se indica una lista de entradas que deben crear en su blog personal de la clase de Progravan1, deben investigar sobre cada tema que se muestra abajo y presentarlas antes de la fecha de tope.
- Fecha Entrega Tope: Martes, 25 de enero 2011. 1. Investigar sobre el estándar de JAVADOC y realizar un ejemplo. (Cerrado)
- Fecha Entrega Tope: Jueves, 27 de enero 2011. 1. Usando clases y subclases crear un programa para realizar las operaciones matemáticas basicas. Clase principal "OperacionesMatematicas". Subclases "Suma", "Resta", "Multiplicacion" y "Division". en el metodo main se deben hacer instancias de las subclases para realizar dicha operación. (Cerrado)
- Fecha Entrega Tope: Jueves, 03 de febrero 2011. 1. Investigar sobre las palabras reservadas en Java y que significa cada una de ellas. (Cerrado)
- Fecha Entrega Tope: Jueves, 03 de febrero 2011. 1. Realizar un programa que ordene un arreglo desordenado de 20 valores enteros, además contar con un par de métodos para saber cual es el valor mínimo y máximo. (Cerrado)
- Fecha Entrega Tope: Lunes, 07 de febrero 2011. 1. Primer Avance del proyecto: se deben crear las clases Usuario, Estudiante, Catedrático, PersonalAdministrativo y para cada uno de ellos agregar la información requerida (ver definición del proyecto). Una vez realizado lo anterior, se pide que se haga un programa que agregue la información de 10 Estudiante, Catedráticos, PersonalAdministrativo y que se tenga una función que imprima la info, así como una función que valida la información de usuario. (Cerrado)
- Fecha de Entrega Tope: Jueves, 31 de marzo 2011 Investigar sobre los controles swing: JTable y JTree. Desarrollar un ejemplo utilizando los controles.
- Fecha de Entrega Tope: Lunes, 04 de abril 2011 Crear los siguientes controles personalizados: 1. Crear 5 botones: Aceptar, Cancelar, agregar, Editar, Eliminar. cada botón debe tener un icono que corresponda a su etiqueta 2. Crear un nuevo control que herede de JTextArea y que tenga un menú contextual de copiar, cortar, pegar y seleccionar todo. 3. Crear un nuevo control que herede de JTextField y que tenga un menú contextual de copiar, cortar, pegar y seleccionar todo.
- Fecha de Entrega Tope: Lunes, 11 de Abril 2011 Se debe realizar el siguiente ejercicio, descargar...
martes, 27 de julio de 2010
Crer Usuario en SQLServer 2008
youtube: http://www.youtube.com/watch?v=upWr2Z-u2E0
Autenticarse en SQLServer 2008
Youtube: http://www.youtube.com/watch?v=MELolUVEipg
jueves, 8 de julio de 2010
Ejemplo de Como Usar JTable
Ejemplo que muestra el sencillo uso de usar el control JTable, en el cual se indican las columnas y las filas.
descargar....
Ejemplo de como agregar y borrar registros (o filas) a un Jtable.
descargar....
Otra manera de utilizar el control JTable, es usar Binding, el cual resulta mas conveniente al momento de utilizar Base de Datos. además se muestra como ordenar las columnas y tres maneras de seleccionar filas.
descargar....martes, 6 de julio de 2010
Agregar y Borrar de una JList
Ejemplo que muestra como agregar información de una persona y verla reflejada en un JList, además de poder agregar a la lista, se puede eliminar elementos de la lista con seleccionar el elemento.Además, al dar click sobre un elemento en la lista se muestra la información en un Panel de Detalle. Se debe notar que el Panel de Detalle, es un control personalizado.
descargar....Panel Personalizado
import javax.swing.JTextField;import javax.swing.JLabel;
/** * Panel Personalizado. * * Este panel contiene los siguientes controles * Etiqueta y Texto para la nombre * Etiqueta y texto para el apellido * etiqueta y Texto para la edad * */public class pnlInfoPersona extends javax.swing.JPanel {
//Declaración de Variables private boolean editable = false; private JLabel lblApellido = new JLabel(); private JLabel lblEdad = new JLabel(); private JLabel lblNombre = new JLabel(); private JTextField txtApellido = new JTextField(); private JTextField txtNombre = new JTextField(); private JTextField txtEdad = new JTextField();
public pnlInfoPersona() { inicializar(); }
private void inicializar() { setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
lblNombre.setText("Nombre"); add(lblNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 14, -1, -1)); add(txtNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(57, 11, 101, -1));
lblApellido.setText("Apellido"); add(lblApellido, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 14, -1, -1)); add(txtApellido, new org.netbeans.lib.awtextra.AbsoluteConstraints(217, 11, 91, -1));
lblEdad.setText("Edad"); add(lblEdad, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 45, -1, -1)); add(txtEdad, new org.netbeans.lib.awtextra.AbsoluteConstraints(57, 42, 101, -1)); setEditable(); txtNombre.requestFocus(); }
/** * retorna si las cajas de texto son editables */ public boolean isEditable() { return editable; }
/** * setea las cajas de texto para ser editables o no */ public void setEditable(boolean editable) { this.editable = editable; setEditable(); }
private void setEditable() { txtNombre.setEditable(isEditable()); txtApellido.setEditable(isEditable()); txtEdad.setEditable(isEditable()); }
public JTextField getTxtApellido() { return txtApellido; }
public JTextField getTxtEdad() { return txtEdad; }
public JTextField getTxtNombre() { return txtNombre; }
/** * limpia las cajas de texto */ public void limpiarCajasTexto() { txtNombre.setText(""); txtApellido.setText(""); txtEdad.setText(""); }}
Crear Conexión a BDD Usando JDBC (SQL Server)
Connection to BDD
/**
* Inicia una conexión a Base de Datos Microsoft SQL Server.
*
* @param servidor Servidor al cual se establece la conexion.
* @param BD Nombre de la Base de Datos
* @param usuario Usuario que inicia la conexion.
* @param contrasenya Contraseña del usuario que inicia la conexion.
* @param aplicacion Nombre de la aplicacion que establece la conexion a la Base de Datos
* @param puerto Puerto a traves del cual se establece la conexion con la Base de Datos.
*
* @return El objeto que contiene la conexion a la Base de Datos.
*/
public Connection iniciarConexion(String servidor, String BD, String usuario, String contrasenya, String aplicacion, int puerto) throws SQLException {
//Instancia Objeto Conexión
Connection conBD = null;
//Instancia Drivers JDBC para SQLServer
SQLServerDataSource ds = new SQLServerDataSource();
//Registro de los parametros de conexión
ds.setServerName(servidor);
ds.setDatabaseName(BD);
ds.setUser(usuario);
ds.setPassword(contrasenya);
ds.setApplicationName(aplicacion);
ds.setPortNumber(puerto);
conBD = ds.getConnection();
if (conBD != null) {
System.out.println("Se establecio la Conexión a la base de datos " + servidor + "/" + BD);
} else {
System.out.println("No se establecio la Conexión a la base de datos " + servidor + "/" + BD);
}
return conBD;
}
lunes, 5 de julio de 2010
Conexión a BDD (JDBC)
Programa que muestra como realizar conexiones a las base de datos: SQLSERVER, MYSQL, MICROSOFT ACCESS o ORACLE.jueves, 1 de julio de 2010
Cargar datos a un ComboBox desde un XML
Muestra un ejemplo sencillo de como obtener datos de un fichero XML, y cargarlos a un ComboBox.
descargar...
viernes, 4 de junio de 2010
Generar Números Aleatorios y agregarlos a JCombox/JList
Descargar Código fuente...
Generar Números Aleatorios: agregarlos a JCombox/JList
import java.util.ArrayList;
import javax.swing.DefaultComboBoxModel;
import javax.swing.DefaultListModel;
/**
*
* @author Luis R. Chinchilla H.
* Programación Avanzada 1
* UTH, Periodo 02, 2010
*
* Muestra como se pueden generar número aleatorios y agregarlos a controles
* JComboBox o JList
*
*/
public class EjemploComboxList extends javax.swing.JFrame {
public EjemploComboxList() {
initComponents();
}
@SuppressWarnings("unchecked")
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
btnCargarComboBox = new javax.swing.JButton();
cbxValoresAleatorios = new javax.swing.JComboBox();
jLabel2 = new javax.swing.JLabel();
btnCargarLista = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
lstValoresAleatorios = new javax.swing.JList();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setLabelfor(cbxValoresAleatorios);
jLabel1.setText("Cargar valores aleatorios a JComboBox");
btnCargarComboBox.setText("Cargar");
btnCargarComboBox.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCargarComboBoxActionPerformed(evt);
}
});
jLabel2.setText("Cargar valores aleatorios a JList");
btnCargarLista.setText("Cargar");
btnCargarLista.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCargarListaActionPerformed(evt);
}
});
jScrollPane1.setViewportView(lstValoresAleatorios);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(cbxValoresAleatorios, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnCargarLista))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btnCargarComboBox))))
.addContainerGap(126, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(btnCargarComboBox))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(cbxValoresAleatorios, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(btnCargarLista))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(63, Short.MAX_VALUE))
);
pack();
}
private void btnCargarComboBoxActionPerformed(java.awt.event.ActionEvent evt) {
cargarComboBox();
}
private void btnCargarListaActionPerformed(java.awt.event.ActionEvent evt) {
cargarLista();
}
/**
* carga el comboBox con valores aleatorios
*/
private void cargarComboBox() {
//Se inicializa el model para el combobox
modelComboBox = new DefaultComboBoxModel();
/*
* se asigna el model al control Combobox, de ahora en adelante
* mediante el model podremos agregar, buscar o eliminar elementos
* a nuestro combobox
*/
this.cbxValoresAleatorios.setModel(modelComboBox);
/*
* obtenemos nuestros valores aleatorios
*/
ArrayList
/*
* recorremos el arreglo de valores aleatorios y los agregamos a nuestro control
* comboBox
*/
for (Integer valor : valores) {
modelComboBox.addElement(valor);
}
}
/**
* carga la lista con valores aleatorios
*/
private void cargarLista() {
//Se inicializa el model para la lista
modelList = new DefaultListModel();
lstValoresAleatorios.setModel(modelList);
/*
* se asigna el model al control List, de ahora en adelante
* mediante el model podremos agregar, buscar o eliminar elementos
* a nuestro list
*/
ArrayList
/*
* recorremos el arreglo de valores aleatorios y los agregamos a nuestro control
* List
*/
for (Integer valor : valores) {
modelList.addElement(valor);
}
}
/**
* Genera 10 valores aleatoriamente, valores entre 1 a 10
*
* @return Devuelve un arreglo con los valares aleatorios
*/
private ArrayList
ArrayList
int valor = 0;
/*
* Generar 10 valores
*/
for (int i = 0; i < 10; i++) {
//Genera aleatoriamente numeros del 1 al 10
valor = (int) ((Math.random() * 10) + 1);
/*
* se agregan los valores a nuestro arreglo que solo aceptan
* valores enteros
*/
valores.add(valor);
}
return valores;
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new EjemploComboxList().setVisible(true);
}
});
}
/*
* Modelos para los controles List y ComboBox
*/
private DefaultListModel modelList;
private DefaultComboBoxModel modelComboBox;
private javax.swing.JButton btnCargarComboBox;
private javax.swing.JButton btnCargarLista;
private javax.swing.JComboBox cbxValoresAleatorios;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JList lstValoresAleatorios;
}
Abrir Ventanas: JFrame y JDialog
Descargar Código Fuente...