You are on page 1of 10

Formularios Java con scroll

Juan Pablo Angamarca. Este va a ser el primero de los pequeos aportes que voy a hacer con respecto a programacin en Java, espero que podamos enriquecer este espacio con preguntas y opiniones. No pretendo ser un experto, de hecho no lo soy, y por eso, es bueno que colaboremos todos. Hace unos das una compaera de segundo ciclo me expuso un problema, al disear un formulario, eran visibles todos los componentes dentro del JFrame, pero en tiempo de ejecucin era necesario cambiar de tamao al formulario y al hacerlo, perdan visibilidad algunos componentes, siendo necesario tener siempre el JFrame en su tamao original para poder ver todo lo que contena. Presento aqu una solucin muy sencilla, para esto necesitaremos: 1) NetBeans IDE y JDK 1.5 o superior. Por cierto, ya est disponible la versin de NetBeans 5.5.1. Usar un IDE ahorra el tener que pelearse con todo el cdigo Java que antes se escriba por cuenta propia. 2) Conocimientos de Java y NetBeans. 3) Un poco de paciencia. Asumiendo que tenemos creado un proyecto, creamos un nuevo JFrame. En este caso, mi clase ser ScrollableJFrame.java.

Insertamos un objeto JPanel para disear sobre l nuestra interfaz de usuario.

En el panel Inspector (Men Window > Inspector, suele estar ubicado a la izquierda en el IDE) cambiaremos el nombre de variable del recin insertado objeto a PanelInterfazUsuario. Es una buena prctica de programacin darles nombressignificativos a los componentes, y no dejarlos con el nombre que da el IDE por defecto al insertarlos. En este ejemplo slo renombrar los componentes que interesan por ahora.

Hacemos clic derecho sobre PanelInterfazUsuario y seleccionamos la opcin Design This Container. En la nueva vista insertamos los componentes necesarios para nuestra interfaz. Luego, para volver al JFrame, hacemos doble clic en el componente JFrame en la ficha Inspector.

Insertamos desde la paleta un objeto JScrollPane. Este objeto crear barras de desplazamiento en los bordes del JPanel si no todos sus componentes son visibles con un tamao de formulario dado. Cambiamos el nombre del JScrollPane a scrollFormulario. Si deseamos podemos cambiarle el tipo de borde en la paleta Properties > Border, donde nos aparecer una serie de opciones de borde.

Arrastramos PanelInterfazUsuario sobre scrollFormulario, y lo soltamos cuando aparezcan lneas discontinuas sobre el scrollFormulario. Ambos quedarn fusionados y PanelInterfazUsuario tendr barras de desplazamiento en sus bordes. Ajustamos el tamao del JFrame, seleccionamos el componente scrollFormulario y ajustamos su tamao hasta que coincida con los bordes del formulario.

Si queremos cambiar algn detalle de PanelInterfazUsuario, podemos sacarlo del JScrollPane. Para esto arrastramos su icono en la pestaa Inspector hasta encima del icono del JFrame, de esta forma scrollFormulario y PanelInterfazUsuario quedarn separados de nuevo.

A continuacin ejecutamos ScrollableJFrame.java. Veremos que podemos hacerlo ms grande que su tamao original, pero si lo hacemos ms pequeo, aparecern las barras para ver lo que falta de formulario.

Esto ha sido algo bastante sencillo, y todo necesita prctica. Hasta una prxima oportunidad, agradecer sus preguntas y opiniones.

19 respuestas
11092007

Maricelys (10:00:53) : Chevere gracias por tu trabajo. Saludos. Responder


8042008

ricardo ramos (10:49:38) :

Que tal,,, oye, como puedo recuperar la informacion que el usuario escriba en un cuadro de texto, estoy desarrollando un programa que genera archivos aleatorios,,, debo crear una interfaz para recoger los datos de entrada. ya logre hacer el formulario, pero que propiedad uso para vaciar el contenido de los cuadros de texto en variables para despues grabarlas en archivos? thanks Responder
9042008

Juan Pablo Angamarca (16:02:19) : @ricardo, debes usar las propiedades getText() y setText(String t) de objetos ya sean JTextField o JTextArea:
/* texto: variable String para recoger el texto. jtaTexto es un JTextArea.*/ String texto = this.jtaTexto.getText(); RandomAccessFile archivo; // Flujo aleatorio. try { // Crear/acceder al archivo "archivo.dat" en modo read/write. archivo = new RandomAccessFile("archivo.dat", "rw"); archivo.writeUTF(texto); // Escribir el texto en el archivo. this.jtaTexto.setText(""); // Limpiar el cuadro de texto. archivo.close(); //Cerrar el archivo. } catch (IOException ex) { // Capturar posibles excepciones ex.printStackTrace(); JOptionPane.showMessageDialog(this, "Error al escribir en el archivo", "Error", JOptionPane.ERROR_MESSAGE); }

Responder
23022010

Jose (12:53:21) : Saludos.. Estoy desarrollando un programa el cual debe imprimir un formato de hoja con multiples campos, los cuales deben ser llenados con datos que se ingresen en el programa o se seleccionen de una base de datos. Que me aconsejas? Responder
17042008

Juan (07:00:39) :

Muy interesante el desarrollo de la clase. Continua en particular modelando tipos de formulario. Hay algn codigo sobre historia clinica digital modelada en java con formularios apropiados? Gracias Responder
26052008

xchande (08:13:34) : Muy buen aporte Juan Pablo, me parece una solucin prctica tienes el merito Saludos. Nota: Piensa en JAVA Responder
27052008

xchande (15:13:55) : Estoy muy entusiasmado con java, yo particularmente me desenvuelvo es en PHP, y otros lenguajes que ayudan en el desarrollo web como javascript pero tengo cerca de dos meses metiendome con java y de verdad que me gusta ese lenguaje. Creo que Java tiene mucha potencia ademas de ser robusto.. Bueno mi genta hablamos luego.. saludos Responder
28052008

Juan Pablo Angamarca (18:33:42) : @xchande, me alegro que te intereses en Java. Java no es solamente un lenguaje de programacin sino una plataforma rica de desarrollo sobre todo tipo de arquitectura y entorno. Y algo muy bueno, desde hace algn tiempo ya es una tecnologa Open Source. Mucha suerte en el viaje que ests empezando, estar presto a ayudarte si as lo necesitas. Responder
26042010

miguel (16:54:46) : me gustaria aprender java spy nuevo en esto Responder


16072008

David (11:40:35) :

Muy Bueno!!! Yo tambien estoy interesado en aprender el lenguaje, si no es molestia me decis como hago para conectarme a una base de datos Ej: Sql server 05, asi uso el formulario que hiciste y lo voy cargando en la base de datos. Saludos. Responder
25072008

xchande (23:58:54) : Hola de nuevo, hace unos meses coment que estaba comenzando con Java, y bueno, el aprendizaje ha sido gradual, y un poco obstaculizado pero a pesar de eso, sigo con paciencia aprendiendo Java, hoy por cierto estoy practicando lo de los formularios y ademas estoy un poquito metido con el Java ME.. En fin, sigan con Java que desde aqui yo seguire dandole.. Saludos a todos.. Un saludo Juan, y te tomare la palabra con eso de ayudarme en las dudas. Responder
20082008

Frank David (12:34:09) : Buenas quisiera de su colaboracin para conectar mi aplicacin que se encuentra en PC con un servidor de la red. Actualmente tengo que configurar windows conectando la unidad de red. Ejemplo Y:\\srvft20\kdm. Lo que quiero evitar es que el cliente no haga esos pasos para poder leer los archivos. Muchas Gracias de ante mano por su apreciada colaboracin. Saludos xito Responder
4112008

nayi (09:27:26) : cual es el codigo en java para crear un formulario cualquiera . Estoy trabajando en el eclipse, perspectiva seam Responder
13042009

einner (14:01:00) : ccomo puedo crear un formulario de esos pero en jcreator le? Responder
15042009

Juan Pablo Angamarca (15:38:08) : @elnner Debe ser de alguna forma parecida, la verdad no he trabajado con JCreator. Responder
8062009

fausto08 (17:20:49) : juan pablo, como harias para mostrar el contenido de ese formulario impreso en un jdialog o joptionpane en el netbeans y para que te quede guardado en el disco duro como txt. Gracias Responder
27072009

Luis (10:38:30) : Necesito de alguien q me pueda ayudar, yo tambien estoy empezando en java y mi pregunta es la siguiente: Sera q en netbeans se puede programar un jsrcollbar en jframe sin necesidad de un jscrollpane y si se puede, me pueden dar un ejemplo de como se hace??? Es q lo necesito para una exposicion de la u, agradeceria mucho mi ayuda, si quieren pueden mandarme la respuesta a cresta666@hotmail.com. Responder
21092009

Levi Hurtado (15:43:57) : Hola amigos..!!bueno mi duda es la siguiente: tengo un programa hecho en java y quisiera saber como hago para que el programa se ejecute nada mas con hacer doble clic, ya que el programa es para un usuario no programador, se los agradeceria..!!..exitos..!!..espero su respuestales dejo mi correo por si acaso: levia_22@hotmail.com Dios Les Bendiga..!! Responder
13112009

lina (08:49:03) : holade casualidad alguno sabe como es el codigo o como es para crear formularios en jcreatoro java .. se los agradeceria Responder

You might also like