Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 05-ago-2007, 10:59   #1 (permalink)
danielhispano ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2007
Mensajes: 8
Un applet revoltoso.

El siguiente código es un applet que muestra un textarea con un texto por defecto, y un botón. El usuario puede seleccionar una parte del texto del textarea, y teniéndola seleccionada, al pulsar sobre el botón, se sustituirá el texto seleccionado por la frase "Hola desde java". La cosa funciona cuando selecciono parte del texto por defecto. También funciona cuando añado texto extra en la misma línea que el texto por defecto. Pero si añado texto extra en una nueva línea del textarea (cuando se está ejecutando el applet), y selecciono una parte de este texto, entonces hace el reemplazo anormalmente. El resultado no es el deseado. Espero puedan ayudarme:

import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class AREADETEXTO1 extends Applet implements ActionListener {

TextArea areaTexto;
Button boton;

public void init() {
areaTexto = new TextArea("Ya es la hora.",5,20,TextArea.SCROLLBARS_BOTH);
add(areaTexto);
boton = new Button("Haga clic aquí");
add(boton);
boton.addActionListener(this);
}

public void actionPerformed(ActionEvent e) {
if (e.getSource() == boton) {
areaTexto.replaceRange("Hola desde Java",areaTexto.getSelectionStart(),areaTexto.getS electionEnd());
}
}
}

Éso mismo me ocurre con un applet que selecciona texto. Cuando el texto está en una nueva línea, no lo selecciona bien. Supongo que tendrá algo que ver con el carácter de nueva línea, aunque no tengo ni idea en realidad:

import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class AREADETEXTO2 extends Applet implements ActionListener {

TextArea areaTexto;
Button boton;

public void init() {
areaTexto = new TextArea("Ya es la hora.",5,20,TextArea.SCROLLBARS_BOTH);
add(areaTexto);
boton = new Button("Haga clic aquí");
add(boton);
boton.addActionListener(this);
}

public void actionPerformed(ActionEvent e) {
if (e.getSource() == boton) {
String texto = areaTexto.getText();
String cadena = new String("hora");
int posicion = texto.indexOf(cadena);
areaTexto.select(posicion,posicion+cadena.length() );
}
}

}

Última edición por danielhispano; 06-ago-2007 a las 03:57. Razón: Afinar más en el problema, pues no había hablado sobre el carácter de nueva línea, ni había incluído el segundo applet.
danielhispano está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 18:37.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93