Como agregarle un ScrollPane a un textarea.

De nuevo yo, mira lo k estoy haciendo es lo siguiente;
una interfaz con botones y un textarea;
y pretendo agregarle un ScrollPane , pero no se como, pues ya intente lo siguinte;
1.- JScrollPane areaSalida = new JScrollPane( new JTextArea(10,10) );
y tambien ;
2.-ScrollPane p_Desplaza = new ScrollPane();
       p_Desplaza.add( areaSalida );


En la primera opcion, me aparece el siguiente error:
No puede resolver el simbolo
Simbolo: metodo append
Pues utilizo lo siguinte para mostrar variables en el textarea:
AreaSalida. Append(aki va el contenido)
y en la segunda no me marca error pero el Scroll no aparece.ni un k llene el textarea;
mi codigo es:
public class A1{
static JTextArea areaSalida;
static String s2=" ";
public static void main(String[] args) {
JFrame f = new JFrame();
Container container = f.getContentPane();
container.setLayout(new GridBagLayout());
((JPanel)container).setBorder(
BorderFactory.createTitledBorder("SELECCION DE CONTEO"));
GridBagConstraints c = new GridBagConstraints();
areaSalida = new JTextArea(400,510);
ScrollPane p_Desplaza = new ScrollPane();
p_Desplaza.add( areaSalida );
JButton bt1, bt2, bt3, bt4, bt5, bt6,bt7;
JToolBar toolbar = new JToolBar();
bt1=new JButton("PROTOCOLOS");
bt2 = new JButton("EVENTOS");
bt3 = new JButton("ACCIONES");
bt4 = new JButton("ERRORES");
bt5 = new JButton(" BIOS");
bt6 = new JButton("ABRIR");
bt7= new JButton("LIMPIAR");
toolbar.add(bt6);
toolbar.add(bt1);
toolbar.add(bt2);
toolbar.add(bt3);
toolbar.add(bt4);
toolbar.add(bt5);
c.gridx = 0; c.gridy = 0;
c.gridheight = 1;
c.anchor = GridBagConstraints.NORTHEAST;
c.fill=GridBagConstraints.HORIZONTAL;
c.weightx = 1.0; c.weighty = 0.0;
container.add( toolbar,c);
c.gridx = 0;c.gridy = 2;
c.weighty = 1.0;
c.fill = GridBagConstraints.BOTH;
c.gridwidth = 2;
c.gridheight = GridBagConstraints.RELATIVE;
container.add(areaSalida,c);
c.weighty = 0.0;
c.gridx = 0; c.gridy = 3;
c.gridheight = GridBagConstraints.REMAINDER;
container.add(bt7,c);
//
bt6.addActionListener(//ACCION AL PULSAR EL BOTON
new ActionListener() {
public void actionPerformed( ActionEvent evento )//FUNCION
{
FileDialog selector=new FileDialog(new Frame());//mostrar directorio
selector.setVisible(true); //hacerlo visible
String direccion=selector.getDirectory();
String n_archivo= selector.getFile();
String direccionArchivo=direccion+n_archivo;
s2=direccionArchivo;
FileReader entrada=null;
File archivo = null;
FileReader fr = null;
String linea;
}
}
); //FIN ACCION
bt1.addActionListener(//ACCION AL PULSAR EL BOTON
new ActionListener() {
public void actionPerformed( ActionEvent evento )//FUNCION
{
FileReader entrada=null;
File archivo = null;
FileReader fr = null;
String linea;
String p[]={ "$GPGGA","$GPRMC","$GPGSV","$GPGSA","$GPVTG","$GPGLL","$GPIOP","$GPGSM","$GPAREA",};
int[] ocurrencias_p = new int[p.length];
for (int i=0; i<ocurrencias_p.length; i++){
ocurrencias_p = 0; }
try {
areaSalida.append("OCURRENCIA DE PROTOCOLOS"+ "\n");
fr = new FileReader (s2);
BufferedReader br = new BufferedReader(fr);
while((linea=br.readLine())!=null){ //inicio while
for (int i=0; i<p.length; i++){ //inicio for
if(linea.startsWith(p)) { //inicio fin
ocurrencias_p++;
break;
} //fin if
} //fin for
}// fin while
for (int k = 0 ; k < p.length ; k++){
areaSalida.append(p[k] +""+ "\t"+ ocurrencias_p[k]+ "\n"); }
}//FIN DEL TRY
catch(IOException e)
{
}
finally{
try{ //el bloque finally se ejecuta siempre, por eso, si se cierra el fichero
if( fr != null){ //al final del primer try, y ha dado un error antes, pasaría
fr.close(); //al 1er catch y luego saldría, dejándolo abierto. Es conveniente
} //cerrarlo aquí, comprobando que no sea -por un error anterior, como
}catch (IOException e){ // no tener permisos de lectura o que no exista - de valor null.
}
}
}//fin ActionPerformed
}//fin ActionListener
); //FIN ACCION
f.setSize(800,600);
f.setTitle("ANALISIS");
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
1

1 respuesta

Respuesta
1
Prueba con este código:
areaSalida = new JTextArea(10,10);
JScrollPane scroll=new JScrollPane(areaSalida, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
... y me cuentas.
de nuevo yo, mira ya le garege el codigo que me mandaste pero nada, pues no me marca errores pero pues no aparece el Scroll
ayuda
:(
Vale, ya se por qué falla:
El truco está en no incluir el JTextArea en el container, sino el JScrollPane:
areaSalida = new JTextArea(400,510);
JScrollPane p_Desplaza = new JScrollPane(areaSalida, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
...
...
...
container.add(p_Desplaza,c);
Con esto ya tira.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas