Converter String para jScrollpane (Swing)

2 respostas
augustocolom

Olá Pessoal,

Atribui os valores de um jScroolPane para uma String, como a seguir:

JScrollPane jScrollPane1 = new jScrollPane();
String scrollString = jScrollPane1.toString();

Agora preciso que esses valores se transformem em um jScrollpane, alguém tem alguma sugestão, algum caminho que deva seguir.

Obrigado

att,

Augusto

2 Respostas

andreiribas

Isso não pode ser feito.

Você tem que pegar o componente que está dentro do JScrollPane.

O ideal seria você ter a referência somente do componente de texto, e esquecer do JScrollPane.

Mas se isso não for possível, use o método scrollPane.getComponents() e itera até achar o componente que você quer.

Então você faz isso:

Digamos que o componente seja um JtextArea, então:

JTextArea component;

String value = component.getText();
yorgan

Amigo, acho que a melhor solução é converter esse objeto em um array de bytes.
Dessa forma você pode gravar isso onde precisar e depois remontar o objeto.

Tente dessa forma:
Classe: ObjectToByte

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class ObjectToByte {
	
	public byte[] toBytes(Object objeto) throws Exception {
		Serializable mySerializableObj = (Serializable) objeto;
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		ObjectOutputStream oos = new ObjectOutputStream(baos);
		oos.writeObject(mySerializableObj);
		return baos.toByteArray();

	}
	
	public Object toObject(byte[] bytes) throws Exception {
		ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
		ObjectInputStream ois = new ObjectInputStream(bais);
		return ois.readObject();
	}

}

Classe Main:

public class Main {
	
      public static void main(String args[]) throws Exception {
            ObjectToByte  conv = new ObjectToByte();
            String teste = "Funciionar"?
            byte[] bytes = conv.toBytes(teste);
            String s2 = (String) conv.toObject(bytes);
            System.out.println(s2);
      }

Aqui fiz com uma String, mas acredito que funcione com jScroolPane também.

[]´s

Daniel

Criado 16 de setembro de 2009
Ultima resposta 16 de set. de 2009
Respostas 2
Participantes 3