Video demostrativo de la aplicacion Aprendiendo programacion, que incluye teoria y videos explicativos sobre python, java, scratch y appinventor.
Puedes descargar la aplicacion aqui.
Etiqueta: java
GitHub
En el siguiente enlace puedes encontrar los archivos con los codigos de ejemplo que voy creando para los tutoriales, podeis verlos aqui.
Espero os sea util, no olvideis practicar. Gracias.
23 Java. Aplicacion Visual
En el video se muestra como realizar una aplicacion visual con Java, en la que se realiza una aplicacion para calcular el IVA y el total a partir de la base imponible.
El codigo es el siguiente:
package paquete;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;public class Iva {
private JFrame frame;
private JTextField txtBase;/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Iva window = new Iva();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}/**
* Create the application.
*/
public Iva() {
initialize();
}/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JLabel lblCalculoDeIva = new JLabel(“Calculo de IVA y total”);
lblCalculoDeIva.setBounds(133, 21, 135, 14);
frame.getContentPane().add(lblCalculoDeIva);
JLabel lblBaseImponible = new JLabel(“Base Imponible”);
lblBaseImponible.setBounds(45, 51, 94, 14);
frame.getContentPane().add(lblBaseImponible);
JLabel iva = new JLabel(“IVA”);
iva.setBounds(45, 76, 94, 14);
frame.getContentPane().add(iva);
JLabel total = new JLabel(“Total”);
total.setBounds(45, 101, 94, 14);
frame.getContentPane().add(total);
JLabel lblIva = new JLabel(“”);
lblIva.setBounds(156, 76, 94, 14);
frame.getContentPane().add(lblIva);
JLabel lblTotal = new JLabel(“”);
lblTotal.setBounds(156, 101, 94, 14);
frame.getContentPane().add(lblTotal);
txtBase = new JTextField();
txtBase.setBounds(164, 46, 86, 20);
frame.getContentPane().add(txtBase);
txtBase.setColumns(10);
JButton btnCalcular = new JButton(“Calcular”);
btnCalcular.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(txtBase.getText().length()>0){
double base=Double.parseDouble(txtBase.getText());
double iva=base*(0.21);
double total=base+iva;
//pasamos los valores a la ventana
lblIva.setText(String.valueOf(iva));
lblTotal.setText(String.valueOf(total));}
else{
System.out.println(“Introduce el valor de la Base Imponible”);
}
}
});
btnCalcular.setBounds(45, 158, 89, 23);
frame.getContentPane().add(btnCalcular);
JButton btnBorrar = new JButton(“Borrar”);
btnBorrar.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
txtBase.setText(“”);
lblIva.setText(“”);
lblTotal.setText(“”);
}
});
btnBorrar.setBounds(177, 158, 89, 23);
frame.getContentPane().add(btnBorrar);
}
}
22 Java. Borrando datos de Sqlite
Borramos datos de Sqlite usando Java con el ide Eclipse.
Clase Principal
public class main {
static String nombreTabla=”alumno”;
public static void main(String[] args) throws SQLException {
sqlite miBaseDb=new sqlite();
miBaseDb.conectar();
miBaseDb.crearTabla(nombreTabla);
miBaseDb.insertaDatos(17, “Jose”, “Ojeda”,”Bien”);
miBaseDb.insertaDatos(18, “Juan”, “Martin”,”Bien”);
miBaseDb.consultaDatos(nombreTabla);
miBaseDb.ActualizarDatos(nombreTabla, 2, “Notable”);
miBaseDb.consultaDatos(nombreTabla);
miBaseDb.BorrarDatos(nombreTabla, 17);
miBaseDb.consultaDatos(nombreTabla);
}}
Clase Sqlite
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class sqlite {
Connection c=null;
Statement sentencia=null;
String nombreTabla;
String Nombre,Apellidos,Nota;
int ID;
public void conectar(){
try{
Class.forName(“org.sqlite.JDBC”);
c=DriverManager.getConnection(“jdbc:sqlite:test.db”);
System.out.println(“Exito al conectar con base de datos”);
}catch(Exception e){
System.out.println(“Error al conectar con base de datos”);
}}
public void crearTabla(String nombreTabla) throws SQLException{
this.nombreTabla=nombreTabla;
try{
sentencia=c.createStatement();
String sql=”CREATE TABLE “+nombreTabla+” “+
“(ID INT PRIMARY KEY NOT NULL,”+
” Nombre TEXT NOT NULL,”+
” Apellidos TEXT NOT NULL,”+
” Nota TEXT NOT NULL)”;
sentencia.execute(sql);
sentencia.close();
c.close();
System.out.println(“Exito al crear la tabla”);
}catch(Exception e){
System.out.println(“Error al crear la tabla o que ya estaba creada”);
}
}
public void insertaDatos(int ID,String Nombre,String Apellidos,String Nota)throws SQLException{
this.ID=ID;
this.Nombre=Nombre;
this.Apellidos=Apellidos;
this.Nota=Nota;
String sqlInsert=”INSERT INTO “+nombreTabla+”(ID, Nombre, Apellidos, Nota) “+
“VALUES(“+ID+”,'”+Nombre+”‘,'”+Apellidos+”‘,'”+Nota+”‘);”;
try {
conectar();
sentencia=c.createStatement();
sentencia.executeUpdate(sqlInsert);
sentencia.close();
c.close();
System.out.println(“Datos insertados”);
}catch(Exception e){
System.out.println(“Error al insertar datos en la tabla”);
}
}
public void consultaDatos(String nombreTabla)throws SQLException{
conectar();
sentencia=c.createStatement();
String consultaSql=”SELECT * FROM “+nombreTabla+”;”;
try{
ResultSet rs=sentencia.executeQuery(consultaSql);
while(rs.next()){
int ID=rs.getInt(“ID”);
String Nombre=rs.getString(“Nombre”);
String Apellidos=rs.getString(“Apellidos”);
String Nota=rs.getString(“Nota”);
System.out.println(“Id : “+ID+” Nombre : “+Nombre+” Apellidos : “+Apellidos+” Nota : “+Nota);
}
rs.close();
sentencia.close();
c.close();
}catch(Exception e){
System.out.println(“Fallo al recuperar datos”);}
}
public void ActualizarDatos(String nombreTabla, int ID, String Nota) throws SQLException{
this.nombreTabla=nombreTabla;
this.Nota=Nota;
this.ID=ID;
conectar();
sentencia=c.createStatement();
String actualizaSql=”UPDATE “+nombreTabla+” SET Nota='”+Nota+”‘ WHERE ID=”+ID;
try {
sentencia.executeUpdate(actualizaSql);
c.commit();
}catch(Exception e){System.out.println(“error actualizando registro”);}
sentencia.close();
c.close();
}
public void BorrarDatos(String nombreTabla, int ID) throws SQLException{
this.nombreTabla=nombreTabla;
this.ID=ID;
try{
conectar();
sentencia=c.createStatement();
String sql=”DELETE FROM “+nombreTabla+” WHERE ID=”+ID;
sentencia.executeUpdate(sql);
}catch(Exception e){
System.out.print(“error al borrar datos”);
}
sentencia.close();
c.close();
}
}
21 Java. Actualizar datos de Sqlite
Actualizar un campo de un registro en base de datos Sqlite desde Java usando el IDE Eclipse.
Clase Principal
import java.sql.SQLException;
public class main {
static String nombreTabla=”alumno”;
public static void main(String[] args) throws SQLException {
sqlite miBaseDb=new sqlite();
miBaseDb.conectar();
miBaseDb.crearTabla(nombreTabla);
miBaseDb.insertaDatos(17, “Jose”, “Ojeda”,”Bien”);
miBaseDb.insertaDatos(18, “Juan”, “Martin”,”Bien”);
miBaseDb.consultaDatos(nombreTabla);
miBaseDb.ActualizarDatos(nombreTabla, 2, “Notable”);
miBaseDb.consultaDatos(nombreTabla);
}}
Clase Sqlite
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class sqlite {
Connection c=null;
Statement sentencia=null;
String nombreTabla;
String Nombre,Apellidos,Nota;
int ID;
public void conectar(){
try{
Class.forName(“org.sqlite.JDBC”);
c=DriverManager.getConnection(“jdbc:sqlite:test.db”);
System.out.println(“Exito al conectar con base de datos”);
}catch(Exception e){
System.out.println(“Error al conectar con base de datos”);
}}
public void crearTabla(String nombreTabla) throws SQLException{
this.nombreTabla=nombreTabla;
try{
sentencia=c.createStatement();
String sql=”CREATE TABLE “+nombreTabla+” “+
“(ID INT PRIMARY KEY NOT NULL,”+
” Nombre TEXT NOT NULL,”+
” Apellidos TEXT NOT NULL,”+
” Nota TEXT NOT NULL)”;
sentencia.execute(sql);
sentencia.close();
c.close();
System.out.println(“Exito al crear la tabla”);
}catch(Exception e){
System.out.println(“Error al crear la tabla o que ya estaba creada”);
}
}
public void insertaDatos(int ID,String Nombre,String Apellidos,String Nota)throws SQLException{
this.ID=ID;
this.Nombre=Nombre;
this.Apellidos=Apellidos;
this.Nota=Nota;
String sqlInsert=”INSERT INTO “+nombreTabla+”(ID, Nombre, Apellidos, Nota) “+
“VALUES(“+ID+”,'”+Nombre+”‘,'”+Apellidos+”‘,'”+Nota+”‘);”;
try {
conectar();
sentencia=c.createStatement();
sentencia.executeUpdate(sqlInsert);
sentencia.close();
c.close();
System.out.println(“Datos insertados”);
}catch(Exception e){
System.out.println(“Error al insertar datos en la tabla”);
}
}
public void consultaDatos(String nombreTabla)throws SQLException{
conectar();
sentencia=c.createStatement();
String consultaSql=”SELECT * FROM “+nombreTabla+”;”;
try{
ResultSet rs=sentencia.executeQuery(consultaSql);
while(rs.next()){
int ID=rs.getInt(“ID”);
String Nombre=rs.getString(“Nombre”);
String Apellidos=rs.getString(“Apellidos”);
String Nota=rs.getString(“Nota”);
System.out.println(“Id : “+ID+” Nombre : “+Nombre+” Apellidos : “+Apellidos+” Nota : “+Nota);
}
rs.close();
sentencia.close();
c.close();
}catch(Exception e){
System.out.println(“Fallo al recuperar datos”);}
}
public void ActualizarDatos(String nombreTabla, int ID, String Nota) throws SQLException{
this.nombreTabla=nombreTabla;
this.Nota=Nota;
this.ID=ID;
conectar();
sentencia=c.createStatement();
String actualizaSql=”UPDATE “+nombreTabla+” SET Nota='”+Nota+”‘ WHERE ID=”+ID;
try {
sentencia.executeUpdate(actualizaSql);
c.commit();
}catch(Exception e){System.out.println(“error actualizando registro”);}
sentencia.close();
c.close();
}
}
20 Java. Consultar datos de Sqlite
Crearemos un metodo para consultar datos de Sqlite mediante Java con el IDE Eclipse.
Clase Principal
import java.sql.SQLException;
public class main {
static String nombreTabla=”alumno”;
public static void main(String[] args) throws SQLException {
sqlite miBaseDb=new sqlite();
miBaseDb.conectar();
miBaseDb.crearTabla(nombreTabla);
miBaseDb.insertaDatos(17, “Jose”, “Ojeda”,”Bien”);
miBaseDb.insertaDatos(18, “Juan”, “Martin”,”Bien”);
miBaseDb.consultaDatos(nombreTabla);
}}
Clase Sqlite
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class sqlite {
Connection c=null;
Statement sentencia=null;
String nombreTabla;
String Nombre,Apellidos,Nota;
int ID;
public void conectar(){
try{
Class.forName(“org.sqlite.JDBC”);
c=DriverManager.getConnection(“jdbc:sqlite:test.db”);
System.out.println(“Exito al conectar con base de datos”);
}catch(Exception e){
System.out.println(“Error al conectar con base de datos”);
}}
public void crearTabla(String nombreTabla) throws SQLException{
this.nombreTabla=nombreTabla;
try{
sentencia=c.createStatement();
String sql=”CREATE TABLE “+nombreTabla+” “+
“(ID INT PRIMARY KEY NOT NULL,”+
” Nombre TEXT NOT NULL,”+
” Apellidos TEXT NOT NULL,”+
” Nota TEXT NOT NULL)”;
sentencia.execute(sql);
sentencia.close();
c.close();
System.out.println(“Exito al crear la tabla”);
}catch(Exception e){
System.out.println(“Error al crear la tabla o que ya estaba creada”);
}
}
public void insertaDatos(int ID,String Nombre,String Apellidos,String Nota)throws SQLException{
this.ID=ID;
this.Nombre=Nombre;
this.Apellidos=Apellidos;
this.Nota=Nota;
String sqlInsert=”INSERT INTO “+nombreTabla+”(ID, Nombre, Apellidos, Nota) “+
“VALUES(“+ID+”,'”+Nombre+”‘,'”+Apellidos+”‘,'”+Nota+”‘);”;
try {
conectar();
sentencia=c.createStatement();
sentencia.executeUpdate(sqlInsert);
sentencia.close();
c.close();
System.out.println(“Datos insertados”);
}catch(Exception e){
System.out.println(“Error al insertar datos en la tabla”);
}
}
public void consultaDatos(String nombreTabla)throws SQLException{
conectar();
sentencia=c.createStatement();
String consultaSql=”SELECT * FROM “+nombreTabla+”;”;
try{
ResultSet rs=sentencia.executeQuery(consultaSql);
while(rs.next()){
int ID=rs.getInt(“ID”);
String Nombre=rs.getString(“Nombre”);
String Apellidos=rs.getString(“Apellidos”);
String Nota=rs.getString(“Nota”);
System.out.println(“Id : “+ID+” Nombre : “+Nombre+” Apellidos : “+Apellidos+” Nota : “+Nota);
}
rs.close();
sentencia.close();
c.close();
}catch(Exception e){
System.out.println(“Fallo al recuperar datos”);}
}
}
19 Java. Insertar datos en Sqlite
Insertamos datos en la base de datos Sqlite creada anteriormente mediante Java con el IDE Eclipse.
Clase Principal
import java.sql.SQLException;
public class main {
public static void main(String[] args) throws SQLException {
sqlite miBaseDb=new sqlite();
miBaseDb.conectar();
miBaseDb.crearTabla(“alumno”);
miBaseDb.insertaDatos(17, “Jose”, “Ojeda”,”Bien”);
miBaseDb.insertaDatos(18, “Juan”, “Martin”,”Bien”);
}}
Clase Sqlite
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class sqlite {
Connection c=null;
Statement sentencia=null;
String nombreTabla;
String Nombre,Apellidos,Nota;
int ID;
public void conectar(){
try{
Class.forName(“org.sqlite.JDBC”);
c=DriverManager.getConnection(“jdbc:sqlite:test.db”);
System.out.println(“Exito al conectar con base de datos”);
}catch(Exception e){
System.out.println(“Error al conectar con base de datos”);
}}
public void crearTabla(String nombreTabla) throws SQLException{
this.nombreTabla=nombreTabla;
try{
sentencia=c.createStatement();
String sql=”CREATE TABLE “+nombreTabla+” “+
“(ID INT PRIMARY KEY NOT NULL,”+
” Nombre TEXT NOT NULL,”+
” Apellidos TEXT NOT NULL,”+
” Nota TEXT NOT NULL)”;
sentencia.execute(sql);
sentencia.close();
c.close();
System.out.println(“Exito al crear la tabla”);
}catch(Exception e){
System.out.println(“Error al crear la tabla o que ya estaba creada”);
}
}
public void insertaDatos(int ID,String Nombre,String Apellidos,String Nota)throws SQLException{
this.ID=ID;
this.Nombre=Nombre;
this.Apellidos=Apellidos;
this.Nota=Nota;
String sqlInsert=”INSERT INTO “+nombreTabla+”(ID, Nombre, Apellidos, Nota) “+
“VALUES(“+ID+”,'”+Nombre+”‘,'”+Apellidos+”‘,'”+Nota+”‘);”;
try {
conectar();
sentencia=c.createStatement();
sentencia.executeUpdate(sqlInsert);
sentencia.close();
c.close();
System.out.println(“Datos insertados”);
}catch(Exception e){
System.out.println(“Error al insertar datos en la tabla”);
}
}
}
18 Java. Crear tabla Sqlite
Crear tabla Sqlite, continuando con el ejercicio anterior en el que creamos la conexion a la base de datos.
Clase principal
import java.sql.SQLException;
public class main {
public static void main(String[] args) throws SQLException {
sqlite miBaseDb=new sqlite();
miBaseDb.conectar();
miBaseDb.crearTabla(“alumno”);
}}
Clase sqlite
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;public class sqlite {
Connection c=null;
Statement sentencia=null;
String nombreTabla;public void conectar(){
try{
Class.forName(“org.sqlite.JDBC”);
c=DriverManager.getConnection(“jdbc:sqlite:test.db”);
System.out.println(“Exito al conectar con base de datos”);
}catch(Exception e){
System.out.println(“Error al conectar con base de datos”);
}}
public void crearTabla(String nombreTabla) throws SQLException{
this.nombreTabla=nombreTabla;
try{
sentencia=c.createStatement();
String sql=”CREATE TABLE “+nombreTabla+” “+
“(ID INT PRIMARY KEY NOT NULL,”+
” Nombre TEXT NOT NULL,”+
” Apellidos TEXT NOT NULL,”+
” Nota TEXT NOT NULL)”;
sentencia.execute(sql);
sentencia.close();
c.close();
System.out.println(“Exito al crear la tabla”);
}catch(Exception e){
System.out.println(“Error al crear la tabla o que ya estaba creada”);
}
}
}
17 Java. Conexion a base de datos Sqlite
Conexion a base de datos Sqlite, descargando la libreria que incluiremos en nuestro proyecto Java, usando el IDE Eclipse.
Clase Sqlite
import java.sql.Connection;
import java.sql.DriverManager;public class sqlite {
public void conectar(){
Connection c=null;
try{
Class.forName(“org.sqlite.JDBC”);
c=DriverManager.getConnection(“jdbc:sqlite:test.db”);
System.out.println(“Exito al conectar con base de datos”);
}catch(Exception e){
System.out.println(“Error al conectar con base de datos”);
}}
}
Clase principal
public class main {public static void main(String[] args) {
sqlite miBaseDb=new sqlite();
miBaseDb.conectar();
}}
16 Java. Hilos
En este video vemos como ejecutar varias tareas en segundo plano, mediante hilos o threads.
Podeis ver el codigo aqui:
Clase Principal:
public class main {
public static void main(String[] args) {
hilo hilo1=new hilo(“hilo 1”);
hilo hilo2=new hilo(“hilo 2”);
hilo1.setMensaje(“Mensaje del hilo 1”);
hilo2.setMensaje(“Mensaje del hilo 2”);
hilo2.start();
hilo1.start();
}}
Clase Hilo:
public class hilo extends Thread{
String mensaje;
public hilo(String nombre){
super(nombre);
}
public void run(){
for (int i=1;i<11;i++){for (int j=1;j<11;j++){
System.out.println(i+”*”+j+” = “+i*j);
}
try{
sleep(2000);} catch(Exception e){}
}
System.out.println(“Proceso terminado “+this.getName());
System.out.println(mensaje);
}
public void setMensaje(String msg){
this.mensaje=msg;
}
}