jScrollPane e scroll up

2 respostas
G

Tenho um JTextArea em um JScrollPane. Insiro o conteúdo de um arquivo de texto nesse JTextArea, porém quando exibo a applet, a scroll está posicionado no final do texto. Como faço para deixar o scroll posicionado no começo do texto?

jScrollPane1.setBorder(new javax.swing.border.EtchedBorder());
jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
jScrollPane1.setFocusable(false);
jScrollPane1.setOpaque(false);

jTextPane1.setBackground(javax.swing.UIManager.getDefaults().getColor("Button.background"));
jTextPane1.setBorder(new javax.swing.border.EmptyBorder(new 
java.awt.Insets(10, 15, 10, 15)));
jTextPane1.setEditable(false);

jScrollPane1.setViewportView(jTextPane1);

2 Respostas

T

Eu suponho que antes de deixar “editable” como false, você deve alterar a posição do caret para a primeira posição do texto, a fim de forçar a visualização dessa posição. Mas isto é só uma sugestão.

G

Só pra deixar informado achei onde estava o erro, ainda não sei o porquê. Mas criei uma classe de testes. Ela tem um botão que adiciona os dados, e um outro que permite reposicionar o scroll de acordo com o valor digitado em um JTextField.

public void addContents() {
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < 20; i++) {
			sb.append("\n");
			sb.append(i);
		}
		textArea.setText(sb.toString());
		scrollPane.getVerticalScrollBar().setValue(0);
	}

Não sei porque, mas essa chamada de reposicionamento, logo após ter adicionado o texto não faz nada. agora se eu chamar depois, passando posição e clicando no outro botão, funciona.

Criado 27 de outubro de 2006
Ultima resposta 27 de out. de 2006
Respostas 2
Participantes 2