|
Mostrar Mensajes
|
Páginas: 1 [2] 3
|
12
|
Programación / Java / Frame y JTable. Como actualizarlo
|
en: 22 Febrero 2012, 16:42 pm
|
Necesito que alguien me eche una mano. Resulta que tengo un ventana con un JTable de usuarios, al seleccionar un usuario le doy a un botón "asignar Perfil" y se me abre un frame con los Perfiles que le puede dar a ese usuario descartando los que ya tiene, el problema es que cuando selecciono un Perfil y le doy a aceptar consigo hacer la consulta a la base de datos pero no consigo que la ventana se actualice, alguien que me pueda ayudar?
|
|
|
13
|
Programación / Java / Re: No encuentro error, intentando borrar de un resultset
|
en: 21 Febrero 2012, 18:11 pm
|
De esta forma no debería de lanzarte excepción ni estar pendiente de si en la siguiente vuelta esta apuntando a null o no. prueba a recorrer la consulta de este modo. dbResulSet = dbStatement.executeQuery("SELECT * from disfruta where usuarioDni = '" + dni2 + "'"); //recorremos la consulta while(dbResulSet.next()){ //obtengo el identificador String dni = dbResulSet. getString(1); //obtengo el descripcion int codigo = dbResulSet.getInt(2); try { myData.add(new Disfruta(dni, codigo)); e.printStackTrace(); } }
|
|
|
15
|
Programación / Java / Re: No encuentro error, intentando borrar de un resultset
|
en: 21 Febrero 2012, 17:55 pm
|
Asi lo hago yo, a ver si te puede dar un enfoque distinto jButtonEliminarUsuario. addActionListener(new java. awt. event. ActionListener() { public void actionPerformed (java. awt. event. ActionEvent e ) { ModeloJTableUsuario modelo = getModeloJTableUsuario(); int index = getJTableUsuario().getSelectedRow(); // Si se selecciona un elemento en la lista if ( index >= 0 ) { modelo.eliminarUsuario(index); } } });
|
|
|
16
|
Programación / Desarrollo Web / Diseño a un formulario
|
en: 21 Febrero 2012, 17:45 pm
|
Hola a todos, haber si me podeis echar una manita es que tengo este codigo implementado y uso navegador web chrome y se ve super feo. Haber si alguien sabe adecentarlo un poquito. Dejo el código: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Subir Archivo</title> </head>
<body> <h1>Subir archivos mediante php</h1> <form action="subirarchivo.php" method="post" enctype="multipart/form-data"> Inserte aqui su archivo:<br /> <input type="file" name="archivo"> <input type="submit" value="enviar"> </form> </body> </html>
|
|
|
17
|
Programación / Java / Re: JTableUsuario y JTableDisfruta
|
en: 21 Febrero 2012, 14:13 pm
|
Gracias de todas formas sapito, ya lo solucione, resulta que pare hacer pruebas al método le puse que devolviera un arrayList y trabajaba dentro del método con un arraylist temporal o anónimo para probar el código y se me olvido después de que funcionara cambiarlo por el arraylist verdadero del modelo de datos.
Gracias de todas formas, muy amable.
|
|
|
18
|
Programación / Java / Re: jtable manejo
|
en: 19 Febrero 2012, 16:13 pm
|
Aquí os dejo un ejemplo, a ver si con este código os soluciono algo. Son códigos muy grandes, ahí alguna forma para poder subir los dos archivos y ya te lo miras tu en algún entorno IDE? y donde están las normas para leérmelas . UsuarioJTable: package vista;
import java.awt.BorderLayout; import java.awt.Component; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowEvent; import java.awt.event.WindowListener;
import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.ListSelectionModel; import controlador.ModeloJTableUsuario;
import modelo.Usuario;
/** * * @author maquinavirtual * */ public class UsuarioJTable extends JFrame {
private static final long serialVersionUID = 1L; private JPanel jContentPane = null; private JPanel jPanelEntradaDatos = null; private JButton jButtonInsertarUsuario = null; private JButton jButtonEliminarUsuario = null; private JPanel jPanelJListUsuario = null; private JTable jTableUsuario = null;
// panel inferior con la informacion de la Usuario private PanelInfoUsuario panelInfoUsuario = null ; // ventanas llamadas ( una sola ventana para todas las llamadas ) private VentanaInsertarUsuario ventanaInsertarUsuario = null ; // variable que almacena el modelo del JTableUsuario ( modelo para almacenar Usuarioes ) private ModeloJTableUsuario modeloJTableUsuario = null ; /** * @return the modeloJTableUsuario */ public ModeloJTableUsuario getModeloJTableUsuario() { if ( modeloJTableUsuario == null ){ modeloJTableUsuario = new ModeloJTableUsuario(); } return modeloJTableUsuario; }
/** * This is the default constructor */ public UsuarioJTable() { super(); initialize(); }
/** * This method initializes this * * @return void */ private void initialize() { this.setSize(470, 370); this.setContentPane(getJContentPane()); this.setTitle("JTable con Usuario"); this.setVisible(true); this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); this.addWindowListener(new WindowListener() { @Override public void windowOpened(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowIconified(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowDeiconified(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowDeactivated(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowClosing(WindowEvent arg0) { Component frame = null; int n = JOptionPane.showConfirmDialog( frame, "¿Desea Guardar los datos antes de salir?", "Responde antes de salir", JOptionPane.YES_NO_OPTION); if(n == 0){ ModeloJTableUsuario modelo = getModeloJTableUsuario(); modelo.guardarDatos(); } dispose(); } @Override public void windowClosed(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowActivated(WindowEvent arg0) { // TODO Auto-generated method stub } } ); }
/** * This method initializes jContentPane * * @return javax.swing.JPanel */ private JPanel getJContentPane() { if (jContentPane == null) { jContentPane = new JPanel(); jContentPane.setLayout(new BorderLayout()); jContentPane.add(getJPanelEntradaDatos(), BorderLayout.NORTH); jContentPane.add(getJPanelJListUsuario(), BorderLayout.CENTER); jContentPane.add(getPanelInfoUsuario(), BorderLayout.SOUTH); } return jContentPane; }
/** * This method initializes jPanelEntradaDatos * * @return javax.swing.JPanel */ private JPanel getJPanelEntradaDatos() { if (jPanelEntradaDatos == null) { FlowLayout flowLayout = new FlowLayout(); flowLayout.setHgap(10); flowLayout.setVgap(10); flowLayout.setAlignment(FlowLayout.LEFT); jPanelEntradaDatos = new JPanel(); jPanelEntradaDatos.setLayout(flowLayout); jPanelEntradaDatos.add(getJButtonInsertarUsuario(), null); jPanelEntradaDatos.add(getJButtonEliminarUsuario(), null); } return jPanelEntradaDatos; }
/** * This method initializes jButtonInsertarUsuario * * @return javax.swing.JButton */ private JButton getJButtonInsertarUsuario() { if (jButtonInsertarUsuario == null) { jButtonInsertarUsuario = new JButton(); jButtonInsertarUsuario.setText(" Insertar Usuario "); jButtonInsertarUsuario.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) {
// variable con el panel de informacion de Usuario PanelInfoUsuario panelInfoUsuario = getVentanaInsertarUsuario().getPanelDatosUsuario(); // Peticion de foco en el campo de nombre panelInfoUsuario.getjTextFieldDni().requestFocus(); // si se hace click en aceptar Usuario if ( VentanaInsertarUsuario.C_ACEPTAR_USUARIO == getVentanaInsertarUsuario().mostrarVentanaModal() ){ //System.out.println("Acepta Usuario"); String dni = panelInfoUsuario.getjTextFieldDni().getText(); String nombre = panelInfoUsuario.getjTextFieldNombre().getText(); String telefono = panelInfoUsuario.getjTextFieldTelefono().getText(); // creo un Usuario Usuario p; try { p = new Usuario(dni, nombre, telefono);
ModeloJTableUsuario modelo = getModeloJTableUsuario(); // agrego la Usuario al modelo modelo.insertaUsuario(p); // Mostramos la informacion de la Usuario en el panel inferior getPanelInfoUsuario().mostrarDatosUsuario(p); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } // limpiamos los campos panelInfoUsuario.limpiarCampos(); } }); } return jButtonInsertarUsuario; }
/** * This method initializes jButtonEliminarUsuario * * @return javax.swing.JButton */ private JButton getJButtonEliminarUsuario() { if (jButtonEliminarUsuario == null) { jButtonEliminarUsuario = new JButton(); jButtonEliminarUsuario.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // obtenemos el modelo ModeloJTableUsuario modelo = getModeloJTableUsuario(); int index = getJTableUsuario().getSelectedRow(); // Si se selecciona un elemento en la lista if ( index >= 0 ) { modelo.eliminarUsuario(index); getPanelInfoUsuario().limpiarCampos(); } } }); jButtonEliminarUsuario.setText(" Eliminar Usuario "); } return jButtonEliminarUsuario; }
/** * This method initializes jPanelJListUsuario * * @return javax.swing.JPanel */ private JPanel getJPanelJListUsuario() { if (jPanelJListUsuario == null) { jPanelJListUsuario = new JPanel(); jPanelJListUsuario.setLayout(new BorderLayout()); jPanelJListUsuario.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4)); //jPanelJListUsuario.add(getJTableUsuario(), BorderLayout.CENTER); JScrollPane scrollPane = new JScrollPane(getJTableUsuario());; jPanelJListUsuario.add(scrollPane,BorderLayout.CENTER); } return jPanelJListUsuario; }
/** * This method initializes jListUsuario * * @return javax.swing.JList */ private JTable getJTableUsuario() { if (jTableUsuario == null) { // le asigno un modelo al constructor jTableUsuario= new JTable(); //Seleccion de un solo elemento jTableUsuario.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); //Escuchador de tecla jTableUsuario.addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { JTable jtable = (JTable) e.getSource(); //Coge la tecla pulsada y comprueba si es una flecha int teclaPulsada = e.getKeyCode(); if(teclaPulsada == KeyEvent.VK_UP || teclaPulsada == KeyEvent.VK_DOWN || teclaPulsada == KeyEvent.VK_TAB){ //int fila = jtable.getSelectedRow(); // Usuario seleccionada del JList Usuario p = (Usuario)modeloJTableUsuario.devolverUsuario(jtable.getSelectedRow()); //Mostrar datos de la Usuario getPanelInfoUsuario().mostrarDatosUsuario(p); } } }); jTableUsuario.setModel( getModeloJTableUsuario() ); // asigno el modelo jTableUsuario.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { JTable jtable = (JTable) e.getSource(); int numeroClicks = e.getClickCount(); // Usuario seleccionada del JList Usuario p = (Usuario)modeloJTableUsuario.devolverUsuario(jtable.getSelectedRow()); // Si hay algo seleccionado if ( ( jtable.getSelectedRow() >= 0 ) && ( numeroClicks == 2 ) ){
// variable con el panel de informacion de Usuario PanelInfoUsuario panelInfoUsuario = getVentanaInsertarUsuario().getPanelDatosUsuario();
// Usuario seleccionada del JList panelInfoUsuario.mostrarDatosUsuario(p);
// Peticion de foco en el campo de nombre panelInfoUsuario.getjTextFieldDni().requestFocus(); // Mostrar el cuadro de dialogo con los datos de la Usuario // si se hace click en aceptar Usuario if ( VentanaInsertarUsuario.C_ACEPTAR_USUARIO == getVentanaInsertarUsuario().mostrarVentanaModal() ){ // capturo los nuevos valores String dni = panelInfoUsuario.getjTextFieldDni().getText(); String nombre = panelInfoUsuario.getjTextFieldNombre().getText(); String telefono = panelInfoUsuario.getjTextFieldTelefono().getText(); try { // asigno los nuevos valores para la Usuario p.setDni(dni); p.setNombre(nombre); p.setTelefono(telefono); // mostramos el panel inferior con los nuevos datos de la Usuario getPanelInfoUsuario().mostrarDatosUsuario(p);
getModeloJTableUsuario().fireTableDataChanged(); } catch (Exception e1) { // e1.printStackTrace(); } } // de if // limpiamos los campos panelInfoUsuario.limpiarCampos(); } //Muestra en el panel inferior el valor seleccionado en el jTable if( jtable.getSelectedRow() >= 0){ getPanelInfoUsuario().mostrarDatosUsuario(p); } } }); } return jTableUsuario; }
// Metodo que devuelve un panel con la informacion de la Usuario private PanelInfoUsuario getPanelInfoUsuario(){ if ( panelInfoUsuario == null ){ panelInfoUsuario = new PanelInfoUsuario(); } return panelInfoUsuario; } // obtengo la ventana de insertar Usuario private VentanaInsertarUsuario getVentanaInsertarUsuario(){ if ( ventanaInsertarUsuario == null ){ ventanaInsertarUsuario = new VentanaInsertarUsuario(); } ventanaInsertarUsuario.setLocationRelativeTo(this); return ventanaInsertarUsuario; } } // @jve:decl-index=0:visual-constraint="10,10"
Clase ModeloJTableUsuario: package controlador;
import java.sql.Connection;
/** * * @author maquinavirtual * */ public class ModeloJTableUsuario extends AbstractTableModel {
/** * */ private static final long serialVersionUID = 1L; //Coleccion que almacena los datos del modelo private ArrayList<Usuario> myData = null; private String[] nombreColumnas = {"Dni" , "Nombre", "Telefono"}; /** * Constructor vacÃo * */ public ModeloJTableUsuario() { myData = cargarDatos(); } private ArrayList<Usuario> cargarDatos() { ArrayList<Usuario> temporal = new ArrayList<Usuario>();
//Creación del objeto que conectará a la BD ConnectionJDBC cj = new ConnectionJDBC(); ConnectionJDBC cjMySqlJDBC = new ConnectionJDBC(); Statement dbStatement = null; ResultSet dbResulSet = null; try { Connection dbConnectMysql = cjMySqlJDBC.getConnection("jdbc:mysql://127.0.0.1/entorno","user","user"); //creo un objeto Statement dbStatement = dbConnectMysql.createStatement(); //creo un objeto ResulSet para realizar una consulta a la base de datos dbResulSet = dbStatement.executeQuery("SELECT * from usuario"); //recorremos la consulta while(dbResulSet.next()){ //obtengo el identificador String dni = dbResulSet.getString(1); //obtengo el descripcion String nombre = dbResulSet.getString(2); //obtengo el telefono String telefono = dbResulSet.getString(3); try { temporal.add(new Usuario(dni, nombre, telefono)); } catch (Exception e) { e.printStackTrace(); } } System.out.println("conexión creada"); cj.closeConnection(dbConnectMysql, dbStatement); System.out.println("conexión cerrada"); } catch (SQLException e) { e.printStackTrace(); } return temporal; }
/** * Método que inserta un perfil(por si no se nota...) * */ public void insertaUsuario(Usuario p){ if(p != null){ myData.add(p); //Inserto el perfil en el modelo
//Notifica a la tabla que han habido cambios this.fireTableDataChanged(); } } public Usuario devolverUsuario (int fila){ if(fila >= 0 && fila < myData.size()) return myData.get(fila); return null; } @Override public String getColumnName(int column) { return nombreColumnas[column]; }
/* (non-Javadoc) * @see javax.swing.table.TableModel#getRowCount() */ @Override public int getRowCount() { return myData.size(); }
/* (non-Javadoc) * @see javax.swing.table.TableModel#getColumnCount() */ @Override public int getColumnCount() { return 3; }
/** * Metodo que elimina un perfil * */ public void eliminarUsuario(Usuario p){ if(p != null){ if(myData.contains(p)){ myData.remove(p); //Notifica a la tabla que han habido cambios this.fireTableDataChanged(); } }
} /** * Metodo que elimina un perfil pasando un indice * */ public void eliminarUsuario(int index){ if(index >= 0 && index < myData.size()){ myData.remove(index); //Notifica a la tabla que han habido cambios this.fireTableDataChanged(); }
} /* (non-Javadoc) * @see javax.swing.table.TableModel#getValueAt(int, int) */ @Override public Object getValueAt(int rowIndex, int columnIndex) {
switch (columnIndex) { case 0: return myData.get(rowIndex).getDni(); case 1: return myData.get(rowIndex).getNombre(); case 2: return myData.get(rowIndex).getTelefono(); default: return null; } }
public void guardarDatos(){ //Creación del objeto que conectará a la BD ConnectionJDBC cj = new ConnectionJDBC(); ConnectionJDBC cjMySqlJDBC = new ConnectionJDBC(); Statement dbStatement = null; try { Connection dbConnectMysql = cjMySqlJDBC.getConnection("jdbc:mysql://127.0.0.1/entorno","user","user"); //creo un objeto Statement dbStatement = dbConnectMysql.createStatement(); //creo un objeto ResulSet para realizar una consulta a la base de datos dbStatement.executeUpdate("delete from usuario"); Iterator<Usuario> it = myData.iterator(); //recorremos la consulta while(it.hasNext()){ Usuario elem = it.next(); //obtengo el identificador String dni = elem.getDni(); //obtengo el nombre String nombre = elem.getNombre(); //obtengo el telefono String telefono = elem.getTelefono(); //System.out.println(id + "," + descripcion); dbStatement.executeUpdate("INSERT INTO usuario VALUES ( '" + dni + "', '" + nombre + "', '" + telefono + "')"); try { } catch (Exception e) { e.printStackTrace(); } } System.out.println("conexión creada"); cj.closeConnection(dbConnectMysql, dbStatement); System.out.println("conexión cerrada"); } catch (SQLException e) { e.printStackTrace(); } }
}
|
|
|
19
|
Programación / PHP / Re: Archivos en PHP
|
en: 19 Febrero 2012, 16:07 pm
|
Utiliza un upload...das la posibilidad de que los archivos se suban a una carpeta, luego guardas la ruta en la base de datos junto a quien lo subió y algunas cosillas mas como comentarios si quieres. Upload de Archivos con PHP-> http://www.desarrolloweb.com/articulos/1307.phpSaludos Lo siento si te molesto de nuevo, ya he conseguido hacer eso, ahora como hago para que el usuario pueda descargarlo, es decir puedo coger el link por ejemplo raíz/documentos/archivo.jpg, pero como hago para que la gente lo pueda descargar, he pensado poner un botón descarga pero no se como descargarlo o hacer que descargue . También tengo que eliminarlo (de la base de datos no seria porblema, el problema seria de la carpeta) y poder modificar el nombre (lo mismo que eliminar). Tienes idea de como hacerlo?
|
|
|
|
|
|
|