Abstaccion
Abstaccion
Abstaccion
Núcleo de Anzoátegui
Extensión Región Centro-Sur Anaco
Escuela de Ingeniería y Ciencias Aplicadas
Departamento de Ingeniería de Sistemas
Sistemas de Información
Profesor: Bachiller:
Rodmar Rodriguez José Carrillo C.I. 25.993.844
Yannelis Hernandez
import javax.swing.JOptionPane;
/**
*/
int tamanio=Integer.parseInt(texto);
int longitud=Integer.parseInt(texto);
for(int i=0;i<listaPassword.length;i++){
listaPassword[i]=new Password(longitud);
fortalezaPassword[i]=listaPassword[i].esFuerte();
System.out.println(listaPassword[i].getContraseña()+" "+fortalezaPassword[i]);
}
}
/*
*/
package ejecutable;
/**
*/
/**
* Longitud de la contraseña
*/
/**
* caracteres de la contraseña
*/
//Metodos publicos
/**
* Devuelve la longitud
*/
return longitud;
/**
*/
this.longitud = longitud;
}
/**
* Devuelve la contraseña
* @return contraseña
*/
return contraseña;
/**
* @return contraseña
*/
String password="";
//Generamos un numero aleatorio, segun este elige si añadir una minuscula, mayuscula o
numero
int eleccion=((int)Math.floor(Math.random()*3+1));
if (eleccion==1){
char minusculas=(char)((int)Math.floor(Math.random()*(123-97)+97));
password+=minusculas;
}else{
if(eleccion==2){
char mayusculas=(char)((int)Math.floor(Math.random()*(91-65)+65));
password+=mayusculas;
}else{
char numeros=(char)((int)Math.floor(Math.random()*(58-48)+48));
password+=numeros;
}
return password;
/**
* @return
*/
int cuentanumeros=0;
int cuentaminusculas=0;
int cuentamayusculas=0;
cuentaminusculas+=1;
}else{
cuentamayusculas+=1;
}else{
cuentanumeros+=1;
return true;
}else{
return false;
//Constructores
/**
*/
this(LONG_DEF);
/**
* @param longitud
*/
this.longitud=longitud;
contraseña=generaPassword();
Ejercicio 2
package ejecutable;
/**
*
*/
//Constantes
/**
*/
/**
*/
/**
*/
/**
*/
//Atributos
/**
* Titulo de la serie
*/
/**
*/
/**
*/
/**
* Genero de la serie
*/
/**
* Creador de la serie
*/
//Métodos publicos
/**
return titulo;
/**
*/
this.titulo = titulo;
/**
*/
return numeroTemporadas;
/**
*/
this.numeroTemporadas = numeroTemporadas;
}
/**
*/
return genero;
/**
*/
this.genero = genero;
/**
*/
return creador;
/**
*/
/**
*/
entregado=true;
/**
*/
entregado=false;
/**
*/
if(entregado){
return true;
return false;
/**
* <ul>
*/
int estado=MENOR;
Serie ref=(Serie)a;
if (numeroTemporadas>ref.getnumeroTemporadas()){
estado=MAYOR;
}else if(numeroTemporadas==ref.getnumeroTemporadas()){
estado=IGUAL;
return estado;
/**
*/
"\tTitulo: "+titulo+"\n" +
"\tCreador: "+creador;
/**
*/
return true;
return false;
//Constructor
/**
*/
public Serie(){
/**
/**
*/
this.titulo=titulo;
this.numeroTemporadas=numeroTemporadas;
this.genero=genero;
this.creador=creador;
this.entregado=false;
/*
*/
package ejecutable;
/**
*/
/*
package ejecutable;
/**
*/
/**
*/
listaSeries[0]=new Serie();
listaVideojuegos[0]=new VideoJuego();
listaSeries[1].entregar();
listaSeries[4].entregar();
listaVideojuegos[0].entregar();
listaVideojuegos[3].entregar();
//Recorremos los arrays para contar cuantos entregados hay, tambien los devolvemos
int entregados=0;
for(int i=0;i<listaSeries.length;i++){
if(listaSeries[i].isEntregado()){
entregados+=1;
listaSeries[i].devolver();
if(listaVideojuegos[i].isEntregado()){
entregados+=1;
listaVideojuegos[i].devolver();
Serie serieMayor=listaSeries[0];
VideoJuego videojuegoMayor=listaVideojuegos[0];
//Recorremos el array desde la posicion 1 (no 0), comparando el mayor con las posiciones del
array
for(int i=1;i<listaSeries.length;i++){
if(listaSeries[i].compareTo(serieMayor)==Serie.MAYOR){
serieMayor=listaSeries[i];
if(listaVideojuegos[i].compareTo(videojuegoMayor)==VideoJuego.MAYOR){
videojuegoMayor=listaVideojuegos[i];
System.out.println(videojuegoMayor);
System.out.println(serieMayor);
/*
*/
package ejecutable;
/**
*/
//Constantes
/**
*/
/**
*/
/**
*/
/**
*/
/**
*/
/**
*/
/**
*/
/**
*/
/**
*/
//Métodos publicos
/**
*/
return titulo;
/**
*/
this.titulo = titulo;
/**
*/
return horasEstimadas;
/**
* @param horasEstimadas
*/
/**
*/
return genero;
/**
*/
this.genero = genero;
/**
*/
return compañia;
/**
*/
this.compañia = compañia;
/**
*/
@Override
entregado=true;
/**
*/
@Override
entregado=false;
/**
* @return
*/
@Override
if(entregado){
return true;
return false;
/**
* <ul>
*/
@Override
int estado=MENOR;
VideoJuego ref=(VideoJuego)a;
if (horasEstimadas>ref.getHorasEstimadas()){
estado=MAYOR;
}else if(horasEstimadas==ref.getHorasEstimadas()){
estado=IGUAL;
return estado;
/**
* Muestra informacion del videojuego
*/
@Override
"\tTitulo: "+titulo+"\n" +
"\tGenero: "+genero+"\n" +
"\tcompañia: "+compañia;
/**
*/
return true;
return false;
//Constructor
/**
*/
public VideoJuego(){
/**
*/
/**
* @param horasEstimadas
*/
this.titulo=titulo;
this.horasEstimadas=horasEstimadas;
this.genero=genero;
this.compañia=compañia;
this.entregado=false;
}
}
Ejercicio 3
package ejercicio.pkg3;
/**
*/
/**
*/
ecuacion.calcular(); //Calculamos
/*
package ejercicio.pkg3;
/**
*/
/*Atributos*/
private double a;
private double b;
private double c;
/**
* Ecuacion de 2º grado
* @param a
* @param b
* @param c
*/
this.a=a;
this.b=b;
this.c=c;
/**
*/
private void obtenerRaices(){
double x1=(-b+Math.sqrt(getDiscriminante()))/(2*a);
double x2=(-b-Math.sqrt(getDiscriminante()))/(2*a);
System.out.println("Solucion X1");
System.out.println(x1);
System.out.println("Solucion X2");
System.out.println(x2);
/**
* Obtiene una unica raiz, cuando solo tiene la posibilidad de er una solucion
*/
double x=(-b)/(2*a);
System.out.println("Unica solucion");
System.out.println(x);
/**
* @return
*/
/**
* (No hemos puesto >= ya que puede confundirse con una solucion)
* @return
*/
return getDiscriminante()>0;
/**
* @return
*/
return getDiscriminante()==0;
/**
*/
if(tieneRaices()){
obtenerRaices();
}else if(tieneRaiz()){
obtenerRaiz();
}else{
System.out.println("No tiene soluciones");
import java.util.ArrayList;
import java.util.Scanner;
/**
* @param args
*/
init(array);
while(true){
mainMenu();
switch(choose){
case 1:
showFruitList(array);
break;
case 2:
addFruit(array);
break;
case 3:
deleteFruit(array);
break;
case 4:
updataFruit(array);
break;
case 5:
// Llamada 5: Salir
return;
default:
break;
}
}
/*
* Parámetro: Colección
* Si es lo mismo
* Entrada de teclado
*/
int ID = sc.nextInt();
item.ID = sc.nextInt();
item.name = sc.next();
item.price = sc.nextDouble();
return;
/*
* Parámetro: Colección
*/
int ID = sc.nextInt();
// atraviesa la colección
if(item.ID == ID){
array.remove(i);
return;
/*
* Parámetro: Colección
*/
int ID = sc.nextInt();
item.ID = ID;
item.name = name;
item.price = price;
array.add(item);
}
/*
* Parámetro: Colección
*/
System.out.println();
// atraviesa la colección
/*
* Número de devolución
*/
return sc.nextInt();
}
/*
*/
/*
*/
f1.ID = 9001;
f1.price = 120;
f2.name = "Pastel de peonía multigrano publicado";
f2.ID = 9002;
f2.price = 20;
f3.ID = 9003;
f3.price = 99;
array.add(f1);
array.add(f2);
array.add(f3);
// Número de producto
int ID;
String name;
double price;
// número de productos
int number;
// Precio total
double mount;
7.Realiza una agenda Telefónica de contactos con alguna estructura de datos ya sea cola o Pila. Se
entiende que contacto está definido por un nombre y un teléfono (No es necesario validar) un
contacto es igual a otro cuando sus nombres son iguales. Una agenda de contacto esta formada
por un conjunto de contacto
import java.awt.Color;
import java.awt.Font;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public PanelLogin(){
setLayout(null);
lblUsuario.setBounds(150,200,100,30);
lblUsuario.setForeground(new Color(255,0,0));
lblPass.setBounds(120,240,140,30);
lblPass.setForeground(new Color(255,0,0));
lblPass.setFont(new Font("Arial", 1,20));
txtUsuario.setBounds(250,200,100,30);
txtPass.setBounds(250,240,100,30);
btnLogin.setBounds(200,290,100,30);
add(lblUsuario);
add(lblPass);
add(txtUsuario);
add(txtPass);
add(btnLogin);
import java.awt.Color;
import java.awt.Font;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.Border;
public PanelAltas(){
setLayout(null);
lblTitulo.setBounds(200,20,100,50);
lblFoto.setBorder(marco);
lblFoto.setHorizontalAlignment(JLabel.CENTER);
lblFoto.setBounds(230,80,200,200);
lblNombre.setBounds(30,80,80,30);
lblApellido.setBounds(30,120,80,30);
lblTelefono.setBounds(30,160,80,30);
lblCorreo.setBounds(30,200,80,30);
lblFace.setBounds(30,240,80,30);
lblTwitter.setBounds(30,280,80,30);
lblInstagram.setBounds(30,320,80,30);
txtNombre.setBounds(110,80,100,30);
txtApellido.setBounds(110,120,100,30);
txtTelefono.setBounds(110,160,100,30);
txtCorreo.setBounds(110,200,100,30);
txtFacebook.setBounds(110,240,100,30);
txtTwitter.setBounds(110,280,100,30);
txtInstagram.setBounds(110,320,100,30);
btnCancelar.setBounds(75,370,100,50);
btnGrabar.setBounds(225,370,100,50);
add(lblTitulo);
add(lblNombre);
add(lblApellido);
add(lblTelefono);
add(lblCorreo);
add(lblFace);
add(lblTwitter);
add(lblInstagram);
add(txtNombre);
add(txtApellido);
add(txtTelefono);
add(txtFacebook);
add(txtCorreo);
add(txtTwitter);
add(txtInstagram);
add(btnCancelar);
add(btnGrabar);
add(lblFoto);
import java.awt.Color;
import java.awt.Font;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.Border;
public PanelBajas(){
btnGrabar.setEnabled(false);
setLayout(null);
lblTitulo.setBounds(200,20,100,50);
lblFoto.setBorder(marco);
lblFoto.setHorizontalAlignment(JLabel.CENTER);
lblFoto.setBounds(230,130,200,200);
lblTelefono.setBounds(30,80,80,30);
txtTelefono.setBounds(110,80,100,30);
btnBuscar.setBounds(240,80,100,30);
lblNombre.setBounds(30,120,80,30);
lblApellido.setBounds(30,160,80,30);
lblCorreo.setBounds(30,200,80,30);
lblFace.setBounds(30,240,80,30);
lblTwitter.setBounds(30,280,80,30);
lblInstagram.setBounds(30,320,80,30);
txtNombre.setBounds(110,120,100,30);
txtApellido.setBounds(110,160,100,30);
txtCorreo.setBounds(110,200,100,30);
txtFacebook.setBounds(110,240,100,30);
txtTwitter.setBounds(110,280,100,30);
txtInstagram.setBounds(110,320,100,30);
btnCancelar.setBounds(75,370,100,50);
btnGrabar.setBounds(225,370,100,50);
txtNombre.setEditable(false);
txtApellido.setEditable(false);
txtCorreo.setEditable(false);
txtFacebook.setEditable(false);
txtTwitter.setEditable(false);
txtInstagram.setEditable(false);
add(lblTitulo);
add(lblNombre);
add(lblApellido);
add(lblTelefono);
add(lblCorreo);
add(lblFace);
add(lblTwitter);
add(lblInstagram);
add(txtNombre);
add(txtApellido);
add(txtTelefono);
add(txtFacebook);
add(txtCorreo);
add(txtTwitter);
add(txtInstagram);
add(btnCancelar);
add(btnGrabar);
add(lblFoto);
add(btnBuscar);
import java.awt.Color;
import java.awt.Font;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.Border;
public PanelCambios(){
setLayout(null);
lblTitulo.setBounds(180,20,200,50);
lblFoto.setBorder(marco);
lblFoto.setHorizontalAlignment(JLabel.CENTER);
lblFoto.setBounds(230,130,200,200);
lblTelefono.setBounds(30,80,80,30);
txtTelefono.setBounds(110,80,100,30);
btnBuscar.setBounds(240,80,100,30);
lblNombre.setBounds(30,120,80,30);
lblApellido.setBounds(30,160,80,30);
lblCorreo.setBounds(30,200,80,30);
lblFace.setBounds(30,240,80,30);
lblTwitter.setBounds(30,280,80,30);
lblInstagram.setBounds(30,320,80,30);
txtNombre.setBounds(110,120,100,30);
txtApellido.setBounds(110,160,100,30);
txtCorreo.setBounds(110,200,100,30);
txtFacebook.setBounds(110,240,100,30);
txtTwitter.setBounds(110,280,100,30);
txtInstagram.setBounds(110,320,100,30);
btnCancelar.setBounds(75,370,100,50);
btnGrabar.setBounds(225,370,100,50);
add(lblTitulo);
add(lblNombre);
add(lblApellido);
add(lblTelefono);
add(lblCorreo);
add(lblFace);
add(lblTwitter);
add(lblInstagram);
add(txtNombre);
add(txtApellido);
add(txtTelefono);
add(txtFacebook);
add(txtCorreo);
add(txtTwitter);
add(txtInstagram);
add(btnCancelar);
add(btnGrabar);
add(lblFoto);
add(btnBuscar);
import java.awt.Font;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
public PanelConsultas() {
setLayout(null);
modeloTabla=new DefaultTableModel(){
return false;
};
modeloTabla.addColumn("Nombre:");
modeloTabla.addColumn("Apellido:");
modeloTabla.addColumn("Telefono:");
modeloTabla.addColumn("Correo:");
modeloTabla.addColumn("Facebook");
modeloTabla.addColumn("Twitter");
modeloTabla.addColumn("Instagram");
tabla=new JTable(modeloTabla);
jsp=new JScrollPane(tabla);
jsp.setViewportView(tabla);
lblTelefono.setBounds(30,80,80,30);
txtTelefono.setBounds(110,80,100,30);
jsp.setBounds(30,120,420,300);
add(lblTitulo);
add(lblTelefono);
add(txtTelefono);
add(jsp);
}
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.border.Border;
import modelo.Modelo;
setLayout(new BorderLayout() );
lblFoto.setBorder(marco);
add(lblFoto,BorderLayout.CENTER);
lblFoto.setIcon(foto);
setSize(350,350);
setVisible(true);
}
public class VentanaNuevoUsuario extends JFrame {
public VentanaNuevoUsuario() {
setTitle("Nuevo Usuario");
setLayout(null);
lblTitulo.setHorizontalAlignment(JLabel.CENTER);
lblUsuario.setBounds(0,80,125,30);
lblUsuario.setHorizontalAlignment(JLabel.RIGHT);
lblPassword.setBounds(0,120,125,30);
lblPassword.setHorizontalAlignment(JLabel.RIGHT);
lblConfPassword.setBounds(0,160,125,30);
lblConfPassword.setHorizontalAlignment(JLabel.RIGHT);
txtUsuario.setBounds(130,80,100,30);
txtPass.setBounds(130,120,100,30);
txtConfPass.setBounds(130,160,100,30);
btnCancelar.setBounds(250,80,100,30);
btnGrabar.setBounds(250,120,100,30);
lblTipo.setBounds(0,200,125,30);
lblTipo.setHorizontalAlignment(JLabel.RIGHT);
cmbtipo.addItem("Administrador");
cmbtipo.addItem("Limitado");
cmbtipo.setBounds(130,200,120,30);
add(lblTitulo);
add(lblUsuario);
add(lblPassword);
add(lblConfPassword);
add(txtUsuario);
add(txtPass);
add(txtConfPass);
add(btnCancelar);
add(btnGrabar);
add(cmbtipo);
add(lblTipo);
setSize(400,300);
setVisible(true);
acciones();
btnCancelar.addActionListener(new ActionListener() {
@Override
txtUsuario.setText("");
txtPass.setText("");
txtConfPass.setText("");
});
btnGrabar.addActionListener(new ActionListener() {
@Override
String usuario=txtUsuario.getText();
String pass=txtPass.getText();
String confir=txtConfPass.getText();
int tipo=cmbtipo.getSelectedIndex();
if(usuario.equals("")||pass.equals("")||confir.equals("")){
}else{
if(pass.equals(confir)){
modelo.nuevoUsuario(usuario,pass,tipo);
setVisible(false);
}else{
});
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
Image imagen;
public VentanaPrincipal(){
setLayout(new BorderLayout());
pestanas.insertTab("Altas",null,panelAltas,"Altas",0);
pestanas.insertTab("Bajas",null,panelBajas,"Bajas",1);
pestanas.insertTab("Cambios",null,panelCambios,"Cambios",2);
pestanas.insertTab("Consultas",null,panelConsultas,"Consultas",3);
setJMenuBar(barraMenu);
barraMenu.add(mnAdministracion);
barraMenu.add(mnAgenda);
mnUsuarios.add(mnNuevoUser);
mnUsuarios.add(mnEliminarUser);
mnSesion.add(mnCerrarSesion);
mnAdministracion.add(mnUsuarios);
mnAdministracion.add(mnSesion);
mnAgenda.add(mnAltas);
mnAgenda.add(mnBajas);
mnAgenda.add(mnCambios);
mnAgenda.add(mnConsultas);
barraMenu.setVisible(false);
mnAgenda.setEnabled(false);
mnUsuarios.setEnabled(false);
/**
panelLogin=new PanelLogin(){
g.drawImage(imagen,0,0,
this.getWidth(),
this.getHeight(),null);
};
imagen=new ImageIcon("./imagenes/sepiente.jpg").getImage();
repaint();
panelCarta.setLayout(cartas);
panelCarta.add(panelLogin,"login");
panelCarta.add(pestanas,"todo");
add(panelCarta,BorderLayout.CENTER);
setSize(500,530);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.table.DefaultTableModel;
public class Modelo {
ResultSet capturador;
Statement ejecutador;
Connection conector;
try {
Class.forName("com.mysql.jdbc.Driver");
conector = DriverManager
.getConnection(
"jdbc:mysql://localhost/agenda?user="
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conector;
public Modelo() {
conexionBd("root", "123");
try{
ejecutador = conector.createStatement();
capturador = ejecutador
+ usuario + "';");
if (capturador.first()) {
if (capturador.getString(1).equals(pass)) {
respuesta = true;
tipoUsuario=capturador.getInt(2);
} catch (SQLException e) {
e.printStackTrace();
return respuesta;
String foto) {
try {
ejecutador = conector.createStatement();
} catch (SQLException e) {
e.printStackTrace();
try {
ejecutador = conector.createStatement();
+ telefono + "';");
} catch (SQLException e) {
e.printStackTrace();
try {
ejecutador = conector.createStatement();
capturador = ejecutador
+ telefono + "';");
if (capturador.first()) {
nombre = capturador.getString(capturador.findColumn("nombre"));
apellido = capturador.getString(capturador
.findColumn("apellido"));
correo = capturador.getString(capturador.findColumn("correo"));
facebook = capturador.getString(capturador
.findColumn("facebook"));
twitter = capturador
.getString(capturador.findColumn("twitter"));
instagram = capturador.getString(capturador
.findColumn("instagram"));
foto = capturador.getString(capturador.findColumn("foto"));
respuesta = true;
} catch (SQLException e) {
e.printStackTrace();
return respuesta;
String facebook, String twitter, String instagram, String foto, String telmodificar) {
// CORREGIR LA RUTA
try {
ejecutador = conector.createStatement();
ejecutador
} catch (SQLException e) {
try {
ejecutador = conector.createStatement();
capturador =ejecutador
modeloTabla.addColumn("Nombre");
modeloTabla.addColumn("Apellido");
modeloTabla.addColumn("Telefono");
modeloTabla.addColumn("Correo");
modeloTabla.addColumn("Facebook");
modeloTabla.addColumn("Twitter");
modeloTabla.addColumn("Instagram");
while (capturador.next()) {
filas[0] = capturador.getString(2);
// System.out.println(capturador.getString(2));
filas[1] = capturador.getString(3);
// System.out.println(capturador.getString(3));
filas[2] = capturador.getString(4);
// System.out.println(capturador.getString(4));
filas[3] = capturador.getString(5);
filas[4] = capturador.getString(6);
filas[5] = capturador.getString(7);
filas[6] = capturador.getString(8);
// System.out.println(capturador.getString(5));
modeloTabla.addRow(filas);
} catch (SQLException e) {
e.printStackTrace();
return modeloTabla;
try {
ejecutador = conector.createStatement();
capturador = ejecutador
+ telefono + "';");
if (capturador.first()) {
foto = capturador.getString(capturador.findColumn("foto"));
respuesta = true;
} catch (SQLException e) {
e.printStackTrace();
return respuesta;
try {
ejecutador=conector.createStatement();
e.printStackTrace();
try {
ejecutador=conector.createStatement();
} catch (SQLException e) {
e.printStackTrace();
import java.util.StringTokenizer;
ruta=laruta;
separador=sep;
nuevoSeparador=nuevoSep;
int i = 1;
do
rutaCorregida += tokens.nextToken()+nuevoSeparador;
i++;
}while(i<noTokens);
rutaCorregida += tokens.nextToken();
return rutaCorregida;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import modelo.CorregirRuta;
import modelo.Modelo;
import vista.VentanaFoto;
import vista.VentanaNuevoUsuario;
import vista.VentanaPrincipal;
String url;
String foto;
ventana.panelLogin.btnLogin.addActionListener(new ActionListener() {
@Override
if (modelo.login(usuario, password)) {
if (modelo.tipoUsuario == 0) {
ventana.cartas.show(ventana.panelCarta, "todo");
ventana.barraMenu.setVisible(true);
ventana.mnAgenda.setEnabled(true);
ventana.mnUsuarios.setEnabled(true);
ventana.pestanas.setEnabledAt(0,true);
ventana.pestanas.setEnabledAt(1,true);
ventana.pestanas.setEnabledAt(2,true);
usuarioActivo=usuario;
} else {
ventana.barraMenu.setVisible(true);
ventana.pestanas.setEnabledAt(0,false);
ventana.pestanas.setEnabledAt(1,false);
ventana.pestanas.setEnabledAt(2,false);
ventana.pestanas.setSelectedIndex(3);
ventana.cartas.show(ventana.panelCarta, "todo");
usuarioActivo=usuario;
} else {
null, JOptionPane.ERROR_MESSAGE);
ventana.panelLogin.txtUsuario.setText("");
ventana.panelLogin.txtPass.setText("");
});
ventana.panelAltas.btnGrabar.addActionListener(new ActionListener() {
@Override
ventana.panelAltas.txtNombre.setText("");
ventana.panelAltas.txtApellido.setText("");
ventana.panelAltas.txtTelefono.setText("");
ventana.panelAltas.txtCorreo.setText("");
ventana.panelAltas.txtFacebook.setText("");
ventana.panelAltas.txtTwitter.setText("");
ventana.panelAltas.txtInstagram.setText("");
ventana.panelAltas.lblFoto.setIcon(null);
});
ventana.panelAltas.btnCancelar.addActionListener(new ActionListener() {
@Override
ventana.panelAltas.txtNombre.setText("");
ventana.panelAltas.txtApellido.setText("");
ventana.panelAltas.txtTelefono.setText("");
ventana.panelAltas.txtCorreo.setText("");
ventana.panelAltas.txtFacebook.setText("");
ventana.panelAltas.txtTwitter.setText("");
ventana.panelAltas.txtInstagram.setText("");
ventana.panelAltas.lblFoto.setIcon(null);
});
ventana.panelAltas.lblFoto.addMouseListener(new MouseListener() {
@Override
@Override
int opc;
opc = eleccion.showOpenDialog(null);
if (opc == eleccion.APPROVE_OPTION) {
url = eleccion.getSelectedFile().toString();
ventana.panelAltas.lblFoto.setText("");
ventana.panelAltas.lblFoto.setIcon(ventana.panelAltas.foto);
foto = ruta1.obtenerRutaCorregidaWindows();
@Override
}
@Override
@Override
});
ventana.panelBajas.btnBuscar.addActionListener(new ActionListener() {
@Override
if (modelo.buscar(telefono)) {
ventana.panelBajas.txtNombre.setText(modelo.nombre);
ventana.panelBajas.txtApellido.setText(modelo.apellido);
ventana.panelBajas.txtCorreo.setText(modelo.correo);
ventana.panelBajas.txtFacebook.setText(modelo.facebook);
ventana.panelBajas.txtTwitter.setText(modelo.twitter);
ventana.panelBajas.txtInstagram.setText(modelo.instagram);
foto = modelo.foto;
ventana.panelBajas.lblFoto.setIcon(ventana.panelBajas.foto);
ventana.panelBajas.btnGrabar.setEnabled(true);
} else {
JOptionPane.showMessageDialog(null,
"Telefono no Localizado");
ventana.panelBajas.txtTelefono.setText("");
});
ventana.panelBajas.btnGrabar.addActionListener(new ActionListener() {
@Override
modelo.bajas(telefono);
ventana.panelBajas.txtNombre.setText("");
ventana.panelBajas.txtApellido.setText("");
ventana.panelBajas.txtCorreo.setText("");
ventana.panelBajas.txtFacebook.setText("");
ventana.panelBajas.txtTwitter.setText("");
ventana.panelBajas.txtInstagram.setText("");
ventana.panelBajas.lblFoto.setIcon(null);
ventana.panelBajas.txtTelefono.setText("");
ventana.panelBajas.btnGrabar.setEnabled(false);
});
ventana.panelBajas.btnCancelar.addActionListener(new ActionListener() {
@Override
ventana.panelBajas.txtNombre.setText("");
ventana.panelBajas.txtApellido.setText("");
ventana.panelBajas.txtCorreo.setText("");
ventana.panelBajas.txtFacebook.setText("");
ventana.panelBajas.txtTwitter.setText("");
ventana.panelBajas.txtInstagram.setText("");
ventana.panelBajas.lblFoto.setIcon(null);
ventana.panelBajas.txtTelefono.setText("");
ventana.panelBajas.btnGrabar.setEnabled(false);
});
ventana.panelCambios.btnBuscar.addActionListener(new ActionListener() {
@Override
if (modelo.buscar(telefono)) {
ventana.panelCambios.txtNombre.setText(modelo.nombre);
ventana.panelCambios.txtApellido.setText(modelo.apellido);
ventana.panelCambios.txtCorreo.setText(modelo.correo);
ventana.panelCambios.txtFacebook.setText(modelo.facebook);
ventana.panelCambios.txtTwitter.setText(modelo.twitter);
ventana.panelCambios.txtInstagram.setText(modelo.instagram);
foto = modelo.foto;
ventana.panelCambios.lblFoto
.setIcon(ventana.panelCambios.foto);
ventana.panelCambios.btnGrabar.setEnabled(true);
ventana.panelCambios.txtTelefono.setEditable(false);
} else {
JOptionPane.showMessageDialog(null,
"Telefono no Localizado");
ventana.panelCambios.txtTelefono.setText("");
});
ventana.panelCambios.btnCancelar
.addActionListener(new ActionListener() {
@Override
ventana.panelCambios.txtNombre.setText("");
ventana.panelCambios.txtApellido.setText("");
ventana.panelCambios.txtCorreo.setText("");
ventana.panelCambios.txtFacebook.setText("");
ventana.panelCambios.txtTwitter.setText("");
ventana.panelCambios.txtInstagram.setText("");
ventana.panelCambios.lblFoto.setIcon(null);
ventana.panelCambios.txtTelefono.setText("");
ventana.panelCambios.btnGrabar.setEnabled(false);
ventana.panelCambios.txtTelefono.setEditable(true);
});
ventana.panelCambios.btnGrabar.addActionListener(new ActionListener() {
@Override
ventana.panelCambios.txtNombre.setText("");
ventana.panelCambios.txtApellido.setText("");
ventana.panelCambios.txtCorreo.setText("");
ventana.panelCambios.txtFacebook.setText("");
ventana.panelCambios.txtTwitter.setText("");
ventana.panelCambios.txtInstagram.setText("");
ventana.panelCambios.lblFoto.setIcon(null);
ventana.panelCambios.txtTelefono.setText("");
ventana.panelCambios.btnGrabar.setEnabled(false);
ventana.panelCambios.txtTelefono.setEditable(true);
ventana.panelCambios.lblFoto.setIcon(null);
});
ventana.panelCambios.lblFoto.addMouseListener(new MouseListener() {
@Override
@Override
int opc;
opc = eleccion.showOpenDialog(null);
if (opc == eleccion.APPROVE_OPTION) {
url = eleccion.getSelectedFile().toString();
ventana.panelCambios.lblFoto.setText("");
ventana.panelCambios.lblFoto
.setIcon(ventana.panelCambios.foto);
foto = ruta1.obtenerRutaCorregidaWindows();
@Override
public void mouseExited(MouseEvent arg0) {
@Override
@Override
});
ventana.panelConsultas.txtTelefono.addKeyListener(new KeyListener() {
@Override
@Override
.consultas(telefono));
@Override
});
ventana.panelConsultas.tabla.addMouseListener(new MouseAdapter() {
if (Mouse_evt.getClickCount() == 2) {
ventana.panelConsultas.tabla.getSelectedRow(), 2)
.toString();
if (modelo.buscarFoto(telefono)) {
foto = modelo.foto;
new VentanaFoto(imgfoto);
}
});
ventana.mnNuevoUser.addActionListener(new ActionListener() {
@Override
new VentanaNuevoUsuario();
});
ventana.mnEliminarUser.addActionListener(new ActionListener() {
@Override
if(usuario.equals(usuarioActivo)){
}else{
if(opcion==0){
modelo.eliminarUsuario(usuario);
usuarioActivo="";
});
ventana.mnCerrarSesion.addActionListener(new ActionListener() {
@Override
ventana.cartas.show(ventana.panelCarta, "login");
ventana.barraMenu.setVisible(false);
ventana.mnAgenda.setEnabled(false);
ventana.mnUsuarios.setEnabled(false);
usuarioActivo="";
});
ventana.mnAltas.addActionListener(new ActionListener() {
@Override
ventana.pestanas.setSelectedIndex(0);
});
ventana.mnBajas.addActionListener(new ActionListener() {
@Override
ventana.pestanas.setSelectedIndex(1);
});
ventana.mnCambios.addActionListener(new ActionListener() {
@Override
ventana.pestanas.setSelectedIndex(2);
});
ventana.mnConsultas.addActionListener(new ActionListener() {
@Override
ventana.pestanas.setSelectedIndex(3);
});
package controlador;
objeto.accionesBotones();
8.Plantear una clase para administrar una lista genérica doblemente encadenada
dato=el;
siguiente=s;
anterior=a;
this(el,null,null);
dato=el;
siguiente=s;
anterior=a;
public ListaDoble(){
inicio=fin=null;
return inicio==null
if(!estVacia()){
fin.anterior.siguiente=fin;
}else{
inicio=fin=new NodoDoble(el);
}
if(!estVacia()){
inicio.anterior.siguiente=inicio;
}else{
inicio=fin=new NodoDoble(el);
if(!estVacia()){
String datos="<=>";
NodoDoble auxiliar=inicio;
while(auxiliar!=null){
datos=datos + "["+auxiliar.dato+"]<=>";
auxiliar=auxiliar.siguiente;
JOptionPane.showMessageDiaLog(null, datos,
if(!estVacia()){
String datos="<=>";
NodoDoble auxiliar=fin;
while(auxiliar!=null){
datos=datos + "["+auxiliar.dato+"]<=>";
auxiliar=auxiliar.anterior;
JOptionPane.showMessageDiaLog(null, datos,
int opcion=0,elemento;
do{
try{
opcion=Integer.parseInt(JOptionPane.showInputDiaLog(null,
+"5.Salis\n"
JOptionPane.INFORMATION_MESSAGE));
switch(opcion) {
case 1:
elemento=Integer.parseInt(JOptionPane.showInputDiaLog(null,
JOptionPane.INFORMATION_MESSAGE));
listita.agregarAlInicio(elemento);
break;
case 2:
elemento=Integer.parseInt(JOptionPane.showInputDiaLog(null,
JOptionPane.INFORMATION_MESSAGE));
listita.agregarAlFinal(elemento);
break;
case 3:
if(!listita.estVacia()){
listita.mostrarListaInicioFin();
}else{
JOptionPane.showInputDiaLog(null,
JOptionPane.INFORMATION_MESSAGE);
break;
case 4:
if(!listita.estVacia()){
listita.mostrarListaFinInicio();
}else{
JOptionPane.showInputDiaLog(null,
JOptionPane.INFORMATION_MESSAGE);
break;
case 5:
"Fin",JOptionPane.INFORMATION_MESSAGE);
break;
default:
"Incorrecto", JOptionPane.INFORMATION_MESSAGE);
}catch(NumberFormatException n){
}while(opcion!=5);
9. Realice un programa JAVA que permita convertir una notación matemática de Infija a Postfija
usando la lógica de la estructura de dato LIFO (Pilas)
Class conversion
Import java.util.Scanner;
Mipila.entraElemento ("(");
expresion.entrarCaracterFinal (")"):
String cadena=expresion.retornar();
if(cadena.equals ("(") (
Mipila.entrarElemento (cadena);
Posfija=Posfija.concat(cadena);
}
if(operadores.indexOf(cadena)>=0){
if(cadena.equals("!"){
else{
String Aux=Mipila.Vercina();
int precendeciaQ=operadores.indexOf(cadena);
int precedenciaF=operadores.indezOf(Aux);
Posfija=Posfija.concat (Mipila.sacarElementos[]);
Aux=Mipila.Vercina();
precedenciaF=operadores.indexOf(Aux);
Mipila.entraElemento (cadena);
if(cadena.equals(")")){
String Aux=Mipila.Vercina();
while (Aux.equals("(")) {
Posfija=Posfija.concat (Mipila.sacarElemento[]);
Aux=Mipila.Vercina();
Mipila.sacarElemento();
System.out.println("La expresion posfija es:" + Posfija);
Class Pila
String [] PilaV;
int elementos;
int cima;
elementos=cantidad;
cima=1;
if(cocina==elementos-1){
return (true);
return(false);
return (true);
return(false);
if ( pilallena[]) {
cima++;
PilaV[cima]=elem;
elementos++;
String aux="";
if (pilaVacia[]){
aux=PilaV[cima];
cima--;
elementos--;
return (aux);
Class conversión {
String Qexpresion;
int indice;
public Conversion (String expre) {
this.indice=0;
Qexpresion=new String();
Qexpresion=expre;
String Aux=Qexpresion.substring(indice.indice+1);
indice++;
return (Aux);
Qexpresion=Qexpresion.concat (car);
returno Qexpresion.length();
10. Elaborar una clase que permita insertar un entero en un árbol binario ordenado verificando
que no se encuentre previamente dicho numero
Package arbolnario;
String nombre;
nodoarbol hizquierdo, hderecho;
this.nombre=nom;
this.hizquierdo=null;
this.hderecho=null;
Package arbolnariot;
nodoarbol raiz;
raiz =null;
if(raiz == null) {
raiz=nuevo;
}else{
nodoarbol padre;
while(true){
padre=auxiliar;
if(nom.compareTo(auxiliar.nombre)<=o){
auxiliar = auxiliar.hizquierdo;
if(auxiliar == null){
padre.hizquierdo = nuevo;
return;
}else{
auxiliar=auxiliar.hderecho;
if(auxiliar == null) {
padre.hderecho = nuevo;
return;
if (r!=null){
inOrden(r.hizquierdo);
inOrden(r.hderecho);
}
Package arbolnariotex {
int opcion = 0;
String nombre;
do{
try{
+ "3. Salir\n"
,JOptionPane.QUESTION_MESSAGE));
switch (option){
case 1:
,JOptionPane.QUESTION_MESSAGE);
arbcreado.agregaNodo(nombre);
break;
case 2:
if(!arbcreado.arbvacio()){
System.out.println();
arbcreado.inOrden(arbcreado.raiz);
}else{
JOptionPane.showMessageDiaLog(null,"el arbol esta
vacio","¡Cuidado!"
,JOptionPane.INFORMATION_MESSAGE);
breake;
case 3:
JOptionPane.showMessageDialog(null,"Aplicación finalizada","Fin"
,JOptionPane.INFORMATION_MESSAGE);
breake;
default;
JoptionPane.showMessageDiaLog(null, "Opcion
incorrecta","¡Cuidado!"
,JOptionPane.INFORMATION_MESSAGE);
breake;
}catch(NumbreFormatException n){
if("null".equals(n.getMessage())){
break;
}else{
}while(opcion!= 3);