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

Error en el repaint de JTextPane - no funciona

Estas en el tema de Error en el repaint de JTextPane - no funciona en el foro de Java en Foros del Web. Hola a Todos tengo la siguiente duda en cuanto al redibujado del JtextPane estoy creando clases heredadas de objetos de java, todos me salen excelente ...
  #1 (permalink)  
Antiguo 11/03/2009, 21:00
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Error en el repaint de JTextPane - no funciona

Hola a Todos tengo la siguiente duda en cuanto al redibujado del JtextPane estoy creando clases heredadas de objetos de java, todos me salen excelente el problema surge al crear la clase q hereda el JTextPane.
Aqui les dejo mi Codigo

Código PHP:
package Objetos;

import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;

/**
 *
 * @author Luis Fernando Diego Pinchi
 * @Description Hereda de JTextPane
 */
public class JpTextPane extends javax.swing.JTextPane implements FocusListener
{
    private 
boolean readOnly=false;

    public 
JpTextPane()
    {
        
this.setFont(new java.awt.Font("Verdana"110));
        
this.setForeground(new java.awt.Color(102102102));
        
this.setDisabledTextColor(new java.awt.Color(102102102));
        
this.setBackground(java.awt.Color.WHITE);
        
this.setPreferredSize(new java.awt.Dimension(500200));

        
this.addFocusListener(this);
        
repaint();
    }

    public 
void setReadOnly(boolean readOnly)
    {
        
this.readOnly readOnly;
        if(
getReadOnly())this.setFocusable(false);
    }
    public 
boolean getReadOnly(){return this.readOnly;}

    public 
void focusGained(FocusEvent e)
    {
        
this.setForeground(java.awt.Color.WHITE);
        
this.setBackground(new java.awt.Color(127157185));
        
this.repaint();
    }

    public 
void focusLost(FocusEvent e)
    {
        
this.setForeground(new java.awt.Color(102102102));
        
this.setBackground(java.awt.Color.WHITE);
        
this.repaint();
    }

la cuestion esta q al ejecutar mi aplicacion me genera 2 pequeños problemas:

1.- al enfocar con el mouse al control JTextPane me cambia el color de fondo pero no me cambia el color del texto al principio ya q si le doy enter al control me cambia o si me salgo del control y enfoco de nuevo si me cambia el color del texto

2.- al darle bastantes enter la barra espaciadora aumenta pudiendo desplazarme el problema surge q cuando salgo del control - es decir el focusLost - y me enfoco en otros controles a veces en el JTextPane desaparece la barra de desplazamiento y el JTextPane solo aumenta de tamaño y si sigo dando click en otros controles toma su apariencia norma y luego en otros controles el JTextPane aumenta de tamaño.

Que creen q sea mi problema yo pienso q debe ser el repaint q no funciona estoy loco en esta cuestion q no se q sera

Nota: estoy trabajando con NetBeans 6.5
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #2 (permalink)  
Antiguo 13/03/2009, 03:47
 
Fecha de Ingreso: julio-2008
Mensajes: 62
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Error en el repaint de JTextPane - no funciona

Si no recuerdo mal, al redibujar tenías que llamar al método pack() para que se guardaran los cambios. Si te das cuenta en el método initComponents() siempre llama al final a esa función. Si tú cambias algo después tienes que volver a llamarla. Espero que esto t funcione!
  #3 (permalink)  
Antiguo 13/03/2009, 07:21
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Error en el repaint de JTextPane - no funciona

he resuelto en parte el problema de JTextPane el segundo problema q plantee por lo cual el JTextPane aumenta solo de tamaño era solo por poner dicho codigo de this.setPreferredSize(new java.awt.Dimension(500, 200));
no se porq al poner este codigo me genera este problema

para el primer problema todavia no lo he resuelto quisiera q me digas con un ejemplo donde color el pack en mi codigo y como utilizarlo
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #4 (permalink)  
Antiguo 13/03/2009, 11:41
 
Fecha de Ingreso: octubre-2005
Ubicación: Córdoba, Veracruz
Mensajes: 42
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Error en el repaint de JTextPane - no funciona

Viendo el source de tu proyecto, en el archivo donde creas el gráfico (ventanas, cuadros de texto, etc), tienes (o deberías tener) un método que se llama initComponents(), donde se inicializan, se asignan propiedades y se acomodan todos los componentes gráficos de tu aplicación. Al final de este método (initComponents()), se llama a pack().
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 00:48.