|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - laura_mg
Páginas: [1]
1
« en: Miércoles 11 de Junio de 2008, 17:21 »
Hola a todos, tengo el siguiente problema: Tengo una tabla en la que inicialmente tengo unas determinadas columnas pero que, en función de si se pulsa algún botón, se pueden insertar nuevas columnas. El principal problema es que las tengo que insertar justo antes de la última columna. He probado a hacer de todo. Si se las añadía a la tabla tabla.getColumnModel().addColumn(nueva columna)
, cuando hacía el renderer, a pesar de que ponía tablal.getColumn(nueva columna).setCellRenderer
, al llegar a la nueva columna me daba un error (ArrayIndexOfBoundsException o algo así). Después he probado a añadir las tablas directamente al modelo y tengo el siguiente código: System.out.println("tablaPlanificacionProyecto.getColumnCount(): "+tablaPlanificacionProyecto.getColumnCount()); modelo.addColumn(nombre); System.out.println("tablaPlanificacionProyecto.getColumnCount(): "+tablaPlanificacionProyecto.getColumnCount()); int posicion = modelo.findColumn(nombre); System.out.println("tablaPlanificacionProyecto.getColumnModel().getColumnIndex(nombre): "+tablaPlanificacionProyecto.getColumnModel().getColumnIndex(nombre)); tablaPlanificacionProyecto.getColumn(nombre).setCellRenderer(render); tablaPlanificacionProyecto.moveColumn(modelo.findColumn(nombre),i); System.out.println("tablaPlanificacionProyecto.getColumnModel().getColumnIndex(nombre): "+tablaPlanificacionProyecto.getColumnModel().getColumnIndex(nombre));
Pues bien, según los println que tengo, me sale que se colocan en la columna adecuada (primero se insertan al final y luego las muevo a la posición i). Sin embargo, cuando se muestra la tabla veo que las columnas se muestran al final (en lugar de donde deberían). Además, la tabla deja de renderizarse según el renderer que le tengo asignadas a las columnas. ¿Alguien tiene alguna idea de porqué me está haciendo esto y cómo podría solucionarlo? Muchas gracias de antemano
2
« en: Lunes 2 de Junio de 2008, 16:30 »
Hola a todos:
Tengo un formulario en el que uno de los campos es un JDateChooser para que el usuario elija una fecha. Los datos de este formulario se almacenan en la BBDD.
Además, también se puede recuperar los datos de la BBDD y mostrarlos en pantalla en función de la fecha. Pero si no hay ningún registro para la fecha indicada me gustaría que, además de mostrar un mensaje, en el Calendario de JDateChooser se mostraran con distinto color las fechas que se pueden elegir (que son las fechas de las que hay registros en la BBDD).
Mi duda es si esto es posible: recoger una serie de fechas de la BBDD y hacer que esos días se muestren en el JDateChooser de forma diferente (con que sean de distinto color me bastaría).
Agradecería cualquier sugerencia.
Muchas gracias.
3
« en: Jueves 29 de Mayo de 2008, 17:45 »
Hola a todos:
Estoy haciendo un formulario en el que tengo un componente JDateChooser al que le tengo asignado un FocusListener. Lo que pretendo es que cuando se introduzca una fecha se hagan otras cosas. Por ello he implementado el método focusLost de la siguiente manera:
public void focusLost(FocusEvent fe){
if(fe.getSource() == campoDateChooser){
//hacer lo que tenga que hacer
}
}
El problema es que cuando selecciono una fecha en el JDateChooser y éste pierde el foco (porque paso a otro componente), no se llama a este método. No llega ni a entrar y sí he añadido el listener (campoDateChooser.addFocusListener(this)).
¿Qué es lo que estoy haciendo mal o cómo lo podría hacer?
Muchas gracias.
4
« en: Jueves 31 de Enero de 2008, 18:19 »
Pero si tienes la clase en el mismo jar que toda la aplicación, te tocaría volver a hacer el jar completo. NO??
Para que sólo tengas que compilar la clase que modifiques, tendrá q estar en otro jar diferente. Hay que hacer algo para que la aplicación encuentre la clase y no de error de carga xq no la encuentre??
Gracias
5
« en: Jueves 31 de Enero de 2008, 10:55 »
Hola, mi duda es la siguiente:
Tengo que hacer una aplicación en la que hay que realizar una carga de clases en tiempo de ejecución, de tal forma que tenga un comportamiento "Modular". Es decir, que en función de determinados parámetros se tendrá que cargar un módulo u otro y, si alguno de estos módulos cambia (es necesario cambiar el contenido de alguna clase) sólo sea necesario compilar este módulo y no la aplicación entera y no haya que volverla a instalar.
He estado mirando y he visto que hay un ClassLoader pero no se ni cómo funciona ni siquiera si es lo que necesito.
Además, estos módulos son ficheros que estarán en un directorio diferente al de la aplicación.
Lo que me gustaría saber es si lo que pretendo es posible y en caso de que lo sea, cómo lo podría hacer.
Agradecería cualquier ayuda. Muchas gracias de antemano.
6
« en: Miércoles 2 de Enero de 2008, 16:55 »
Hola:
Estoy haciendo una aplicación en Java en la que necesito recuperar el nombre del autor de un fichero. Quería saber si esto es posible, y en caso de serlo agradecería cualquier ayuda de cómo hacerlo.
Muchas gracias y un saludo.
7
« en: Viernes 28 de Diciembre de 2007, 12:10 »
Hola:
Lo que quiero hacer es que en una tabla haya una columna de botones, manteniendo las otras columnas que ya tengo.
Según he mirado en otros mensajes sé que tengo que implementar TableCellRenderer y TableCellEditor. La primera clase más o menos creo q puede estar bien pero con TableCellEditor no sé qué hacer.
Si alguien tiene algún ejemplo de una tabla pequeña que tenga una columna de botones, o me puede ayudar a implementar esta clase se lo agradecería mucho.
Un saludo.
8
« en: Viernes 30 de Noviembre de 2007, 13:52 »
Hola:
Tengo una aplicación que utiliza la interfaz gráfica que viene en Java por defecto y me han pedido que la cambie.
Me he bajado un un fichero .jar que se supone que tiene otro lookandfeel (napkinlaf.jar) pero no sé qué hacer con él. He leído en una página que hay que meterlo en el proyecto pero no dice dónde ni cómo ni nada.
Si alguno de vosotros sabe cómo hacerlo, le agradecería que me ayudara.
Un saludo.
9
« en: Lunes 26 de Noviembre de 2007, 08:43 »
Hola a todos:
Resulta que tengo una tabla y a cada celda le tengo que asignar un evento de ratón (mouseClicked), de forma que cuando se pulse con el ratón sobre esa celda deberá aparecer otra pantalla con otra tabla para rellenar más celdas.
Mi problema es que no sé qué metodo debo implementar para hacerlo.
Si alguien sabe cómo puedo hacerlo le agradecería muchísimo que me lo explicara.
Un saludo
10
« en: Viernes 23 de Noviembre de 2007, 09:10 »
Hola a todos:
Lo que tengo que hacer es una aplicación formada por un montón de pantallas con formularios. Cada uno de estos formularios tendrá campos de texto y botones, que al pulsarlos te llevarán a otro formulario o regresarás a uno previo.
Lo que me gustaría saber es cómo poder hacerlo; es decir, en función del botón que se pulse cargar un formulario u otro en el mismo espacio en el que estaba el anterior, o volver a un formulario que ya habías visto previamente.
Agradecería cualquier colaboración y o sugerencia.
Un saludo
11
« en: Lunes 19 de Noviembre de 2007, 16:01 »
No, ese no es el error. Según la base de datos que utilizo, necesito ponerle ; al final de cada sentencia.
12
« en: Lunes 19 de Noviembre de 2007, 11:30 »
Hola, mi problema es el siguiente:
Estoy haciendo una aplicación que accede a una base de datos MySQL, pero cuando ejecuto un trozo de código me da el error Operation not allowed after ResultSet closed
El código donde me da este error es el siguiente:
rs = stm.executeQuery("SELECT * FROM gastos2 WHERE idPresu="+idPresupuesto+";");
while(rs.next()){ int idGastos = rs.getInt("id"); int partidaId = rs.getInt("partida"); double costeUnitario = rs.getDouble("costeUnitario"); int unidades = rs.getInt("unidades"); int hito = rs.getInt("hito"); rs2 = stm.executeQuery("SELECT descripcion FROM partidas WHERE id="+partidaId+";");
while(rs2.next()){ for(int i=0; i<mmt.getRowCount(); i++){ if(mmt.getValueAt(i,0).toString().trim().equals(rs2.getString("descripcion").trim())){ mmt.setValueAt((float)(costeUnitario*unidades),i,hito); } } } rs2.close(); }//while(rs.next()); rs.close();
Si alguien sabe porqué me está pasando, le agradecería su ayuda.
Muchas gracias y un saludo.
13
« en: Viernes 9 de Noviembre de 2007, 10:11 »
Hola:
Ante todo muchas gracias de nuevo. Es más o menos lo que quiero. Sin embargo, he notado que pulses el botón que pulses solo se añaden filas en la primera tabla, no es las demás. Cómo se puede hacer para que si pulsas en la 2ª tabla se incrementen en la 2ª, y si pulsas en la 3ª sea en la 3ª??
Un saludo y gracias otra vez.
14
« en: Jueves 8 de Noviembre de 2007, 09:04 »
Hola:
Ante todo, gracias por tu interés. He adjuntado al mensaje un archivo sobre cómo me gustaría que se comportaran los botones a medida que se van añadiendo filas.
Un saludo.
15
« en: Miércoles 7 de Noviembre de 2007, 17:24 »
Hola:
Lo que pretendo hacer es lo siguiente:
Tengo en un panel una tabla que es como si estuviera dividida en tres tablas. Cada una de estas subtablas tiene al menos una línea escrita y a la derecha quiero poner un botón de forma que te permita añadir filas nuevas. Esto lo quiero para cada subtabla de forma que tendré 3 botones que al pulsarlos insertarán filas al final de una subtabla u otra, dependiendo del que se pulse.
Los botones los tengo puestos en otro panel y en la ventana principal he juntado los dos paneles.
Lo que quiero es que a medida que se añadan nuevas filas a cada subtabla, el botón correspondiente a esa subtabla cambie de posición y se sitúe a la altura de esta última fila introducida.
Si alguien lo ha hecho o tiene idea de cómo se puede hacer le agradecería cualquier ayuda.
Muchas gracias y un saludo.
16
« en: Viernes 2 de Noviembre de 2007, 14:21 »
Hola a todos:
Necesito saber cómo se puede coger datos desde el portapapeles para pegarlos en una tabla. Es decir, con otra aplicación copio datos en el portapapeles mediante Ctrl+C (en concreto desde el MS Project) y quiero que al pulsar Ctrl+V en la ventana de mi aplicación se peguen los datos en una tabla. El tema de pegar los datos en la tabla lo tengo más o menos resuelto ya que he estado haciendo pruebas cogiendo los datos desde ficheros. Lo que me falta es cómo coger los datos del portapapeles en vez de desde ficheros.
Espero haberme esplicado bien.
Agradecería cualquier sugerencia. Muchas gracias.
17
« en: Miércoles 31 de Octubre de 2007, 08:43 »
Gracias por tu ayuda, sin embargo te agradecería si me pudieras poner un ejemplo o mandármelo a laura_morgar@hotmail.comUn saludo
18
« en: Martes 30 de Octubre de 2007, 11:19 »
Hola a todos:
Mi problema es el siguiente: tengo una JTable con "x" filas e "y" columnas y quiero que una de esas columnas sea no editable. Además, en una fila, cuando se rellenen otras celdas que no sea la de la columna no editable, la celda de la columna no editable se tiene que calcular automáticamente (contiene una operación matemática) y muestrar el resultado. Cómo puedo hacer esto???
Muchas gracias
19
« en: Lunes 15 de Octubre de 2007, 18:58 »
Hola amigos, necesito vuestra ayuda. Mi problema es el siguiente: Quiero hacer una aplicación que tiene una clase "Principal" y otras clases (en ficheros diferentes). En la clase Principal creo una serie de campos (JTextField) y los represento por pantalla (en forma de tabla). Además, para cada JTextField creo una instancia de otra clase (clase2). Esta clase2 crea a su vez otra serie de campos JTextField. Cuando pulso una celda de la "Tabla" de la clase Principal (tabla1) se me tiene que mostrar en la misma ventana y en el mismo espacio la "Tabla" de la clase2 (tabla2). Hasta aquí todo bien, ya que lo hago quitando el panel y poniendo el otro. El problema está cuando estoy en tabla2, q además tiene un botón "Guardar". Si pulso este botón quiero que me vuelva a la tabla1; es decir, se quite de la ventana el panel actual y se vuelva a poner el panel primero. La cuestión es que no se cómo hacer esta redirección. Para que os hagáis una idea os pongo unos fragmentos de código: public class Principal implements ActionListener, MouseListener{ Public Principal(){ //consulto la B.D. y cojo datos ……… tablaPpal = new JTextField[MAX_COL]; panel = new JPanel(); panel.setLayout(new GridLayout(i,MAX_COL)); for(int k = 0; k<i; k++){ for(int l = 0; l<MAX_COL; l++){ tablaPpal [k][l] = new JTextField(); panel.add(tablaPpal[k][l]); } } …………. tablaSecun = new CrearTabla1[MAX_COL]; for(int k=0; k<i; k++){ for(int l=0; l<MAX_COL; l++){ tablaSecun[k][l] = new CrearTabla1(); } } }//Constructor
public static void main(String [] args){ arrancar(); //para arrancar la conexión con la BD. Júrame f = new Júrame(); Principal princi = new Principal(); general.add(panel); general.updateUI(); f.getContentPane().add(general); f.pack(); f.setVisible(true); }//main()
}//fin Clase Principal
-----------------------------En otro fichero-------------------
public class CrearTabla1 implements MouseListener, ActionListener{ public CrearTabla1(){ tablaSecundaria = new JTextField[MAX_F][MAX_C]; panelSecun = new JPanel(); panelSecun.setLayout(new BorderLayout()); guardar = new JButton("Guardar"); guardar.addActionListener(this); panelTablaSecun = new JPanel(); panelTablaSecun.setLayout(new GridLayout(MAX_F,MAX_C)); for(int i=0; i<MAX_F; i++){//inicializamos todos los campos de texto for(int j=0; j<MAX_C; j++){ tablaSecundaria[j] = new JTextField(); } } for(int k=0; k<MAX_F; k++){ for(int l=0; l<MAX_C; l++){ panelTablaSecun.add(tablaSecundaria[k][l]); } } }//Constructor
public JPanel mostrarTabla(){ panelGeneral.removeAll(); panelGeneral.add(panelSecun); panelGeneral.updateUI(); System.out.println("PanelGeneral: "+panelGeneral); return panelGeneral; } public void actionPerformed(ActionEvent me){ //para los eventos del botón "Guardar" //AQUÍ ES DONDE TENGO QUE VOLVER A MOSTRAR LA “TABLA1” }
Si alguien puede ayudarme se lo agradecería mucho. Un saludo.
Páginas: [1]
|
|
|