Foros del Web » Programación para mayores de 30 ;) » Java »

problema con el JScrollPane

Estas en el tema de problema con el JScrollPane en el foro de Java en Foros del Web. Ante todo perdón si la pregunta es de novato total; pero he realizado varios tutoriales que me recomendó juamd; pero llevo varios días atascado en ...
  #1 (permalink)  
Antiguo 04/10/2010, 00:16
 
Fecha de Ingreso: febrero-2005
Mensajes: 76
Antigüedad: 19 años, 10 meses
Puntos: 1
problema con el JScrollPane

Ante todo perdón si la pregunta es de novato total; pero he realizado varios tutoriales que me recomendó juamd; pero llevo varios días atascado en saber por qué me reduce la ventana. He seguido las instrucciones de chuidiang, como buenamente me ha parecido entender; me descargué sus códigos fuentes y descubrí que son algo distintos a como dice, pero los traté de seguir; he probado distintas opciones y no logro que la dichosa ventana se quede al tamaño que se le da antes de añadir las dos sentencias de JScrollPane

Sé que bucear en el código es un una tarea ingente, pero si alguien fuese tan amable de decirme qué estoy haciendo mal lo agradecería mucho porque llevo varios días probando y probando.

Muchas gracias y dejo el código que compilar sí se compila.


import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JButton;
import javax.swing.JTextArea;
import javax.swing.WindowConstants;
import javax.swing.JScrollPane;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;

public class editor10{
//private JFrame v;
//private JMenuBar barraMenu;
//private JTextArea areaTexto;

public static void main(String[] args){
new editor10();
}
public editor10(){
JFrame v = new JFrame("Editor de texto simple");
JMenuBar barraMenu = new JMenuBar();
JTextArea areaTexto = new JTextArea(25, 80);
areaTexto.setLineWrap(true);
areaTexto.setWrapStyleWord(true);
//JScrollPane scroll = new JScrollPane(areaTexto);

v.getContentPane().add(barraMenu, BorderLayout.NORTH);
v.getContentPane().add(areaTexto, BorderLayout.CENTER);
//v.getContentPane().add(scroll);

//return v;
//}
//public void visualizaVentana(JFrame v){
v.setDefaultCloseOperation(WindowConstants.EXIT_ON _CLOSE);
v.pack();

Dimension pantalla = Toolkit.getDefaultToolkit

().getScreenSize();
Dimension ventana = v.getSize();
v.setLocation(
(pantalla.width - ventana.width)/2,
(pantalla.height - ventana.height)/2);

v.setVisible(true);
}
}
  #2 (permalink)  
Antiguo 04/10/2010, 10:40
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 10 meses
Puntos: 260
Sonrisa Respuesta: problema con el JScrollPane

Hola,

Posiblemente,

Código:
JScrollPane scroll = new JScrollPane(areaTexto);

// v.getContentPane().add(barraMenu, BorderLayout.NORTH);
v.setJMenuBar(barraMenu);
// v.getContentPane().add(areaTexto, BorderLayout.CENTER);
v.getContentPane().add(scroll);
Hay muchas forma de realizar un mismo procedimiento, yo en lo personal cambiaría las líneas anteriores. El JMenuBar se lo agregaría con setJMenuBar sino ocuparía mucho espacio (¿creo?), aunque en este ejemplo no importa mucho por que todavía no has agregado JMenu y JMenuItems. Y areaTexto no lo tienes que agregar al ContentPane porque ya está dentro del JScrollPane.

Código:
/* Dimension pantalla = Toolkit.getDefaultToolkit().getScreenSize();
Dimension ventana = v.getSize();
v.setLocation(
(pantalla.width - ventana.width)/2,
(pantalla.height - ventana.height)/2);*/
v.setLocationRelativeTo(null);
Y estas líneas las cambiaría por la última que hace casi lo mismo, aunque calcular las dimensiones es buena forma de practicar y entender algunas cosas.

Saludos,
  #3 (permalink)  
Antiguo 04/10/2010, 23:32
 
Fecha de Ingreso: febrero-2005
Mensajes: 76
Antigüedad: 19 años, 10 meses
Puntos: 1
Respuesta: problema con el JScrollPane

Y ¡¡FUNCIONÓ!!

muchas gracias por el tiempo que le has echado.

Etiquetas: jscrollpane
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:12.