Beruflich Dokumente
Kultur Dokumente
Que Es?
La Clase JFileChooser, nos presenta una ventana de
herramientas, que dependiendo de nuestra lgica, nos permitir
Abrir o Guardar archivos, igual que la JColorChooser, la
ventana es una ventana de Dialogo para navegar por nuestros
directorios...
El Ejemplo.
Este es otro de esos ejemplos bsicos y fciles de entender, en
si el componente que estamos trabajando habla por si solo......
usaremos
una
ventana JFrame con
un JTextArea y
dos JButtons.
Abrir Archivos.
Si definimos Abrir, entonces se cargar la ventana con lo
necesario para navegar por nuestros directorios y seleccionar el
archivo que queremos abrir (el trabajo con tipos de archivos lo
veremos en una prxima entrada)
Guardar
Archivo.
catch(IOException ex)
{
JOptionPane.showMessageDialog(null,
"Su archivo no se ha guardado",
"Advertencia",JOptionPane.WARNING_MESSAGE);
}
}
}
Descarga!!!
Les dejo el enlace de descarga por si lo quieren
revisar ;)......si usasNetBeans te interesar esta entrada con
un vdeo paso a paso de como abrirlo en el... recuerden que
es gratis, y nada cuesta opinar, compartir o agradecer :)
Tambin te podra Interesar.
Ejemplo JTree.
Ejemplo JColorChooser
Ejemplo Jtable
Eclipse Vs Netbeans?
Clases en Java
Clases Abstractas
ArrayList
El tema que veremos ahora son los ArrayList, esto es bastante importante para cuando
queramos manejar grandes cantidades de datos, el punto sera cuando podramos querer jalar
informacin en modo de registros de una base de datoso un archivo xls u otros. Claro que
ahora no entraremos en esos temas de como extraer datos de archivos externos, si no
aprenderemos a manejar algunas acciones bsicas de un ArrayList as como agregar datos,
recorrer en la coleccin de datos que tenga y leerlos.
En un futuro podremos ver que este componente incluso puede almacenar en si algunos datos
que pueden ser encapsuladas dentro de una clase la cual puede tener muchos tipos de datos
diferentes en su estructura.
Preparamos el formulario
Creamos el proyecto y agregamos un formulario y lo diseamos ms o menos de la siguiente
forma.
Como se puede ver los componentes slo es un JTextField o campo de texto, dos botones y
por otro lado si sera un componentes que an no mencionamos en el blog el cual es un JList
donde se ven los textos de item. Este componentes se encuentra en la paleta de componentes.
Ahora lo que tenemos que hacer es darles los nombres que Uds. deseen a los componentes
para un mejor manejo y en el caso del JList quitemos esos items que aparece. Para dicho
propsito seleccionamos en JList y luego vamos al panel de propiedades y dentro de model
borramos todos los items que aparecen.
package Paquete1;
import java.util.ArrayList;
/** * * @author kaaf */
public Principal()
{
initComponents();
}
//.
//.
//. El cdigo sigue.
Con esto tendramos esta variable a la cual se podr acceder desde cualquier mtodo de la
case sin perder los datos que tiene este. Claro eso ser mientras no borremos y asignemos
una nuevas instancia al mismo.
if(!txtNombre.getText().trim().isEmpty())
{
miArrayList.add(txtNombre.getText());
txtNombre.setText("");
}
else
{
JOptionPane.showMessageDialog(this, "Ingrese un texto");
}
Como se puede ver es muy sencillo primero verificamos si existe texto en el campo JTextField
en este caso con el nombre de "txtNombre" y en caso exista agregamos ese texto a nuestro
ArrayList y luego limpiamos en campo de texto, si no hay texto pasamos al caso contrario
"else".
Cada vez que demos click en el botn "Agregar al ArrayList" se ir creando un nuevo ndice con
el contenido que se tiene en el campo txtNombre y as tendremos estos datos mientras la clase
no finalice (En este caso mientras no se finalice el programa).
nuestro JList delformulario y de esta forma se cargarn los datos que estn en el ArrayList en
nuestro componente JList.
Como pudimos ver el manejo de ArrayList es muy sencillo, ahora con el tiempo veremos la
forma de usarlo en programacin orientada a objetos y como manejarlo con clases
encapsuladas.
Ahora si quisiramos borrar algn registro de nuestro ArrayList slo se debera recorrer en sus
datos con el bucle "for" como lo vimos o el bucle que sea de su preferencia y dentro poner una
condicin que compare el dato que est buscando y en caso lo encuentre agregar esta lnea en
la condicin "miArrayList.remove(indice);".
-Kevin Arnold
-KAAF
-Este es otro Registro
Quisiramos borrar el del medio. Tendramos que recorrer en el bucle hasta llegar a este
encontrar cual es el ndice mediante un contador y borrarlo, el cdigo para borrar el segundo
registro sera ms o menos de la siguiente forma.
int contador=0;
for(String datosDeMiArray : miArrayList)
{
if("KAAF".equals(datosDeMiArray))
{
miArrayList.remove(contador);
break;
}
contador++;
}
Y as se borrara el registro que deseemos de nuestro ArrayList
Categoras destacadas
Artculo
Inicio Artculo Internet PHP
84
votar!
1
. Crear
2
. Dar
de
3
. Votar
4 . Mostrar el grfico de barras
la
alta
base
una
los
de
nueva
datos
encuesta
resultados
Tabla de respuestas:
<?php
//Conectamos con la base de datos
require('configuracion.inc.php');
$enlace = mysql_connect($host, $usuario, $password);
mysql_select_db($db,$enlace);
//Obtenemos la fecha del sistema
$fecha = time();
//Insertamos la nueva encuesta
$sql = "INSERT INTO encuestas
'$fecha') ";
$sql = mysql_query($sql);
(titulo,
fecha)
VALUES
('$titulo',
<?
$host = "miHost";
$usuario = "miUsuario";
$password = "miContrasea";
$db = "miBaseDeDatos";
?>
<?php
//Conectamos con la base de datos
require('configuracion.inc.php');
$enlace = mysql_connect($host,$usuario,$password);
mysql_select_db($db,$enlace);
//Seleccionamos la informacion de la ltima encuesta insertada
$consulta = "SELECT * FROM encuestas ORDER BY fecha DESC LIMIT
0,1";
$consulta = mysql_query($consulta,$enlace);
while($row = mysql_fetch_array($consulta)){
$titulo=$row["titulo"];
$fecha=$row["fecha"];
$id=$row['id'];
}
?>
<body>
<form name="form1" method="post" action="votar.php">
<table width="350" border="1">
<tr>
<td colspan="2"><strong>Titulo</strong>: <?php echo $titulo; ?>
<input type="hidden" name="id" value="<?php echo $id;?>"></td>
</tr>
<?php
$sql = "SELECT texto, id FROM respuestas WHERE idenc="$id"";
$sql = mysql_query($sql,$enlace);
while($row = mysql_fetch_array($sql)){
$texto=$row["texto"];
$idres=$row["id"];
?>
<tr>
<td width="51"><input type="radio" name="opcion" value="<?php
echo $idres; ?>"></td>
<td width="283"><?php echo $texto; ?></td>
</tr>
<?php } ?>
<tr>
<td><input type="submit" name="Submit" value="Enviar"></td>
<td>Esta encuesta está desde el <?php echo date('d-m-y',
$fecha); ?></td>
</tr>
<tr>
<td colspan="2"><a href="votar.php">Ver resultados</a></td>
</tr>
</table>
</form>
</body>
El cdigo que viene a continuacin, votar.php, de momento slo aade el voto a la base de
datos. Ms adelante pondremos en ste mismo fichero el cdigo que aade la imagen con el
grfico de barras:
votar.php
<?
require('configuracion.inc.php');
$enlace = mysql_connect($host, $usuario, $password);
mysql_select_db($db,$enlace);
//Obtenemos el titulo de la encuesta
$consulta = "SELECT titulo FROM encuestas ORDER BY fecha DESC LIMIT
1,0";
$consulta = mysql_query($consulta,$enlace);
$lado=mysql_num_rows($consulta);
while($row = mysql_fetch_array($consulta)){
$titulo= $row['titulo'];
}
//Obtenemos el numero actual de votos para la opcin elegida
//Comprobamos si $opcion no est vaco porque posteriormente este
mismo
//fichero lo utilizaremos para ver resultados sin tener que votar
necesariamente
if(!empty($opcion)) {
$consulta = "SELECT votos FROM respuestas WHERE id=$opcion";
$consulta = mysql_query($consulta,$enlace);
$lado=mysql_num_rows($consulta);
while($row = mysql_fetch_array($consulta)){
$votos= $row['votos'];
}
//Incrementamos en uno los votos totales
$votos = $votos + 1;
//Y actualizamos la base de datos
$consulta = "UPDATE respuestas
id=$opcion";
mysql_query($consulta,$enlace);
}
?>
SET
votos
$votos
WHERE
<?php
//Fijaos en que esta vez tenis que aadir vosotros la informacion en
mysql_connect
$enlace = mysql_connect('tuHost','tuUsuario','tuPassword');
mysql_select_db('tuBaseDeDatos');
//Obtenemos el titulo de la ltima encuesta para colocarlo como ttulo
en nuestro grfico
$consulta = "SELECT titulo, id FROM encuestas ORDER BY fecha DESC
LIMIT 0,1";
$consulta = mysql_query($consulta,$enlace);
$lado=mysql_num_rows($consulta);
while($row = mysql_fetch_array($consulta)){
$titulo= $row['titulo'];
$id=$row['id'];
}
//Obtenemos el numero de votos de cada opcion y los metemos en
"votos[]"
$consulta = "SELECT votos, texto FROM respuestas WHERE idenc=$id";
$consulta = mysql_query($consulta,$enlace);
$lado=mysql_num_rows($consulta);
while($row = mysql_fetch_array($consulta)){
//Guardamos el texto en la variable temp. Este texto nos servir
como
//ndice en el array votos[]
$temp = $row['texto'];
$votos[$temp]= $row['votos'];
}
//Variables del grfico
$width = 500;
//Ancho de la imagen
$espacioCol = 30;
//Espacio que habr del principio de una
columna a otra
$altoCol = 15;
//El alto de las columnas
$height = 2*count($votos)*$espacioCol+45;
//El alto de la imagen
$maxvoto = max($votos);
//Valor de la opcion mas votada
$maxlargo = $width-50;
//Largo que tendr la opcin mas votada
$coeficiente = (int)($maxlargo / $maxvoto);
//Coeficiente
para
calcular el largo de cada opcion
//Creamos la imagen con el alto y ancho asignados anteriormente
$image = imagecreate($width,$height);
//Declaramos variables para los colores.
Al ser el gris el primer
color que
//declaramos, ste se quedar como color de fondo en la imagen
$gray = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
$black = imagecolorallocate($image, 0x00, 0x00, 0x00);
$blue = imagecolorallocate($image, 0x00, 0x00, 0xFF);
<img src="dgrafica.php">
Y os coloco una imagen del resultado final de una encuesta cualquiera: