• Domingo 28 de Abril de 2024, 22:33

Mostrar Mensajes

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 - gothmog

Páginas: 1 2 [3] 4
51
Java / Re: Insertar Filas En Una Jtable
« en: Lunes 2 de Febrero de 2004, 16:43 »
Pues no sabria decirte. En español tienes la de www.programacion.com/java que tiene gran parte del api traducida, pero tampoco es que se extiendan demasiado. Si te manejas con el ingles, pasate por: http://forum.java.sun y puedes usar la busqueda del foro, que seguro que muchas dudas ya estaran incluso resueltas, o exponer tu las dudas  ;)

52
Java / Re: Alineación Del Texto En Una Jtextarea
« en: Lunes 2 de Febrero de 2004, 16:39 »
Me temo que no se puede, la constante existente es utilizada por los atributos AlignmentX y AligmentY, que como ya habras averiguado, se ocupan de la posicion del control, no de su contenido.

De forma directa, solo el JTextField soporta alineacion horizontal. Si deseas un texto mas complejo y hacer uso de la alineacion, tendras que recurrir al JTextPane y utilizar atributos/estilos.

53
Java / Re: Tamaño De Las Columnas En Una Jtable
« en: Lunes 2 de Febrero de 2004, 16:17 »
Para comprobar el tipo de objeto dinamicamente, puedes utilizar el operador binario instanceof

Código: Text
  1. if (object instanceof String)
  2.  

devuelve true si el objeto es una instancia de String, false e.o.c


Sobre lo otro, el nuevo CellRenderer se aplica a cada columna por separado (no me preguntes por que). Por lo que tienes que ir recorriendo las columnas una a una y entonces indicarle el CellRenderer a utilizar.

54
Java / Re: Tamaño De Las Columnas En Una Jtable
« en: Domingo 1 de Febrero de 2004, 17:15 »
Hay dos formas de hacer eso.

La primera y mas facil consiste en tratar los textos como html. Es decir, supongamos que tu añades en una celda la cadena "Este es un texto de prueba" y no sale entera en la columna. Pues en vez de eso, añades la cadena "<html>Este es un texto de prueba</html>" y automaticamente la mostrara en las lineas que necesite.

La segunda forma seria implementar la clase TableCellRenderer (creo que tb se puede exteneder la DefaultTableCellRenderer). El codigo general seria tal que asi:

Código: Text
  1.   public class TextRenderer extends JTextArea implements TableCellRenderer{
  2.     public TextRenderer(){
  3.       setLineWrap(true);
  4.       setWrapStyleWord(true);
  5.       setOpaque(true);
  6.     }
  7.     public Component getTableCellRendererComponent(JTable table, Object value,
  8.     boolean isSelected, boolean hasFocus, int row, int column){
  9.       setText((value == null) ? &#34;&#34;: value.toString());
  10.       return this;
  11.     }
  12.   }
  13.  
  14.  

Y para situar nuestro Renderer en vez de el "por defecto":

Código: Text
  1.     TextRenderer tr = new TextRenderer();
  2.  
  3. // ... //
  4.  
  5.     tabla.getColumn(&#34;Nombre&#34;).setCellRenderer(tr);
  6.  
  7.  
  8.  


Otra presumible forma de hacerlo, podria ser utilizar un AbstractTableModel en vez de un DefaultTableModel, pero no estoy seguro de como se haria. Si no te convencen estas soluciones, investiga acerca de esto ;)

55
Java / Re: Insertar Filas En Una Jtable
« en: Domingo 1 de Febrero de 2004, 16:10 »
En efecto, para usar tanto tablas como listas o combos, hay que utilizar modelos si se requiere algo de complejidad.

Asignar el modelo es sencillo:

Código: Text
  1. JTable tabla;
  2. DefaultTableModel modelo;
  3.  
  4. tabla.setmodel(modelo);
  5.  

Una vez hecho eso, te olvidas por completo del objeto JTable y pasas a trabajar con el modelo.

La forma de añadir filas es:

Código: Text
  1. modelo.addRow(Object[]);
  2.  

Ojo que requiere de objetos, no puedes utilizar tipos primitivos como int, boolean, float... En su lugar necesitaras las clases de java (Integer, Boolean, Float...).

La forma mas comun es esta:

supon que tenemos una tabla de 3 columnas (String id, Integer n, Boolean b ).

Código: Text
  1. Object[] dat = {&#34;Jose&#34;, new Integer(5), new Boolean(true)};
  2. modelo.addRow(dat);
  3.  

Otra cosa a tener en cuenta es que los JTable suelen estar contenidos en un JScrollPane. Si no, no apareceran los titulos de las columnas, ni sera posible hacer un scroll en caso de que el numero de elementos sea mayor al espacio visible.


El problema quiza seria que tendrias que hacer una funcion traductora entre tu BD y la tabla.

Y si no vas a modificar datos, es decir, la tabla siempre va a ser la misma, puedes prescindir de modelos y añadir los datos directamente en el constructor. Los dos constructores que podrias utilizar serian:

Código: Text
  1. new JTable(Vector rowData, Vector columnNames);
  2. new JTable(Object[] rowData, Object[] columnNames);
  3.  

56
Programación de Videojuegos / Re: Por Qué No En Java?
« en: Domingo 1 de Febrero de 2004, 15:58 »
Bueno, no tengo mucho tiempo libre, pero si al final te decides a intentar, no me importaria ayudar, suena interesante  :P

57
Java / Re: Import Libreria
« en: Domingo 1 de Febrero de 2004, 15:49 »
Tienes que indicar el classpath (ruta a las librerias)

58
Java / Re: Usar Xerces
« en: Sábado 20 de Diciembre de 2003, 21:18 »
Gracias, ya lo arregle  :)

59
Java / Usar Xerces
« en: Viernes 5 de Diciembre de 2003, 17:56 »
Buenas, me he descargado los binarios y las tools de http://xml.apache.org/ pero ahora no se que tengo que hacer para incluir xerces en un proyecto. He leido que solo es imprescindible el fichero xerces.jar que por cierto no encuentro pero supongo se refieren al xercesImpl.jar

Que hago con este fichero? Donde lo tengo que meter?

Gracias  :rolleyes:

60
Java / como maximizar una ventana por codigo?
« en: Miércoles 3 de Septiembre de 2003, 11:35 »
Gracias, ya lo he conseguido:)

61
Java / Re: como maximizar una ventana por codigo?
« en: Viernes 29 de Agosto de 2003, 17:17 »
No consigo localizar ninguno de esos metodos ni la constante Frame.MAXIMIZED_BOTH

La version que uso de java es esta:

java.vm.version   1.3.1-b24

Tengo que bajarme alguna mas moderna?

62
Java / Re: como maximizar una ventana por codigo?
« en: Lunes 25 de Agosto de 2003, 14:09 »
El problema de utilizar el setSize es que el frame no se comporta como una ventana maximizada. Toma el tamaño de toda la pantalla, quedando por ejemplo la parte baja oculta por la barra de tareas.

63
Java / Re: como maximizar una ventana por codigo?
« en: Sábado 23 de Agosto de 2003, 13:12 »
No, ese problema es mas sencillo. Solo tienes que recurrir al metodo setResizable(boolean).

Frame fr = new Frame();
fr.setResizable(false);
// El Frame ya no es redimensionable.

Espero haberte ayudado:)

64
Java / Re: como maximizar una ventana por codigo?
« en: Martes 19 de Agosto de 2003, 14:48 »
Pues lo que utilizo es la clase frame, que segun he leido hereda de window, pero carece de ese metodo:(

65
Java / Re: como maximizar una ventana por codigo?
« en: Jueves 24 de Julio de 2003, 17:31 »
Pues eso, mas claro el agua.

Espero que alguien pueda ayudarme, gracias!

66
C/C++ / Re: Estilo de programación: sentencia break.
« en: Domingo 30 de Marzo de 2003, 16:57 »
hombre, no es obligatorio pero entonces pierde la esencia de la finalidad de un switch, q es elegir entre varias opciones. Si al final se ejecutan todas, no sirve para nada. Lo que no entiendo es como no se modifico esto en c++ igual que en otros lenguajes, en los cuales solo identifica una rama case y el resto las pasa por alto, sin necesidad de poner el break.

Supongo que alguna razon importante habra, pq en java tp se modifico la sintaxis switch..case pero la verdad, sin el break, no le veo sentido a esta sentencia. :think:

67
C/C++ / Re: Estilo de programación: sentencia break.
« en: Viernes 28 de Marzo de 2003, 14:47 »
como sales de un case sin el break? No se puede q yo sepa.

Eso si, en bucles no tiene sentido usarlo pq ya le puedes poner las condiciones de salida de bucle.

68
Pascal / Re: Mostrar la parte entera
« en: Miércoles 26 de Marzo de 2003, 14:14 »
si no necesitas almacenar el valor te puede servir esto:

a:real;

a:=3.1415;
writeln(a:0:0);

Mostrara solo en pantalla "3"

69
Pascal / Re: Librería de gdk en Windows
« en: Jueves 20 de Marzo de 2003, 11:17 »

70
C/C++ / Funcion random
« en: Lunes 17 de Marzo de 2003, 10:08 »
pues la sintaxis es:

rand()%(n);

y genera valores aleatorior entre 0 y n-1.

srand(n);

se utiliza para darle un valor semilla y que no se repitan las secuencias (si vienes de pascal o vb, te dire que es el equivalente a randomize). Lo mas normal es utlizar:

srand( time(NULL) );

71
C/C++ / 12/02/03 - Bajo/Medio - Vectores - Permutaciones
« en: Domingo 16 de Marzo de 2003, 22:00 »
Bueno, 1 mes despues os traigo la respuesta (si es que alguien la lee y le interesa, pq este foro esta poco mas que muerto:()

void permuta(int B[], int N){  // N = longitud del vector.
  int x,i,j, cota;
  int *Aux = new int[N];         // Vector auxiliar

  srand(time(NULL));           // Valor semilla para rand() Requiere el archivo time.h

  for(i=0; i<N; i++){          // Copia el vector B en Aux
        Aux = B;
  }

  for (i=0; i<N-1; i++){
    x = rand()%(N-i);
    cota = (N-1)-i-x;
    B = Aux
  • ;

    for (j=0; j<cota; j++){
      Aux
  • = Aux[x+1];

      x++;
    }
  }
  B[N-1] = Aux[0];
  delete []Aux;
}


Y un codigo de ejemplo para probarlo:

#pragma hdrstop
#include <iostream.h>
#include <conio.h>
#include <time.h>

#pragma argsused
int main(int argc, char* argv[])
{
        int c;
        const n=1000;
        int *array = new int[n];

        for(c=0; c<n; c++){
                array[c] = c+1;
                cout << array[c] << " ";
        }
        cout << endl;

        permuta(array,n);

        for(c=0; c<n; c++){
                cout << array[c] << " ";
        }
        cout << endl;

        while (!kbhit());
        delete []array;
        return 0;
}

72
C/C++ / Re: Llama de una Funcion desde otro archivo
« en: Sábado 1 de Marzo de 2003, 16:33 »
En el archivo segundo debes poner:

#include <primero.cpp>

73
C/C++ / Necesito ayuda urgente!! con un programa de C++
« en: Viernes 28 de Febrero de 2003, 15:46 »
me parece increible que vengas aqui a pedir que te hagan un programa. Mira macho, si necesitas ayuda la pides, pero no puedes pedir que te hagamos los ejercicios de clase o las practicas del laboratorio.

Aparte de que esto es bastante facil, a poco que hayas estudiado deberias saber hacerlo.

74
C/C++ / Re: Hola, ayudenme porfavor a revisar este código, yo no se
« en: Jueves 27 de Febrero de 2003, 19:32 »
pues asi a bote pronto sin haber overflows ni nada de eso como bien comenta astor, esto:

for(i8=1;i8<N;i8++){ // Hacer N pasadas.
for(j8=0;j8<N-1;j8++){ // Mirar los N-1 pares

Hacen exactamente el mismo numero de pasadas, esto es, n-1. No deberia ser i8=0 ??

75
C/C++ / pasar una cadena con formato dd/mm/aaaa un construcor
« en: Miércoles 26 de Febrero de 2003, 12:21 »
no entiendo muy bien lo q quierse hacer, a ver si esto:

pasar como parametro del constructor una cadena?

Clase (String s){
...
}

Es esto? Luego el string puede ser cualquier cosa, como por ejemplo dd/mm/aaaa

Y para separar los datos puedes usar las funciones que tengan los strings.

O tambien podrias, para no usar estas funciones:

Clase(String d, String m, String a){
...
}

Espero haberte ayudado y si no, especifica un poco lo que quieres hacer:)

Páginas: 1 2 [3] 4