JTextArea - JScrollPane

Aew galera…
A barra do JScrollPane (que contem dentro um JTextArea) está aparencendo sempre no fim… como faço pra ela ficar no inicio???

como vc faz pra criar um scroll? eu crio o textArea depois o ScrollPane em cima do textArea mas quando compilo e digito nao cria as barras… como faço pra criar barras verticale pulo automatico de linha na horizontal???

post o codigo para gente analisar e solucionar seu problema.

JTextArea txtarea = new JTextArea();
JScrollPane sc = new JScrollPane(txtarea);
sc.setHorizontalScrollBar(JScrollBar);
sc.setVerticalScrollBar(JScrollBar);

getContentPane().add(sc);

oq vc precisa ter no scrollpane é so isso…

Acho que nao ficou muito bem explicado o meu post…

O problema é que:

Eu tenho um JScrollPane e dentro dele um JTextArea…
e no meu JTextArea ja contem um texto… e quando executo a aplicacao aparece o final do texto direto…

Tem como fazer aparecer o começo do texto e o usuario ir rolando???

Kra tenta colocar textarea esse codigo…


textArea.setCaretPosition(0);

Espero ter ajudado…

[quote=hideekii]JTextArea txtarea = new JTextArea();
JScrollPane sc = new JScrollPane(txtarea);
sc.setHorizontalScrollBar(JScrollBar);
sc.setVerticalScrollBar(JScrollBar);

getContentPane().add(sc);

oq vc precisa ter no scrollpane é so isso…

[/quote]
fiz o que vc disse mas da erro na hora de compilação
meu codigo é

[quote]import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import java.awt.Rectangle;
import javax.swing.JScrollBar;

public class teste extends JFrame {

private static final long serialVersionUID = 1L;

private JPanel jContentPane = null;

private JTextArea area = null;

private JScrollBar scroll = null;

/**
 * This method initializes area	
 * 	
 * @return javax.swing.JTextArea	
 */
private JTextArea getArea() {
	if (area == null) {
		area = new JTextArea();
		area.setBounds(new Rectangle(102, 35, 176, 111));
		area.setLineWrap(true); 
		JScrollPane sc = new JScrollPane(area); 
		sc.setHorizontalScrollBar(scroll); 
		sc.setVerticalScrollBar(scroll); 
		getContentPane().add(sc); 

	}
	return area;
}

/**
 * This method initializes scroll	
 * 	
 * @return javax.swing.JScrollBar	
 */
private JScrollBar getScroll() {
	if (scroll == null) {
		scroll = new JScrollBar();
		scroll.setBounds(new Rectangle(5, 5, 17, 61));
	}
	return scroll;
}

/**
 * @param args
 */
public static void main(String[] args) {
	// TODO Auto-generated method stub
	SwingUtilities.invokeLater(new Runnable() {
		public void run() {
			teste thisClass = new teste();
			thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			thisClass.setVisible(true);
		}
	});
}

/**
 * This is the default constructor
 */
public teste() {
	super();
	initialize();
}

/**
 * This method initializes this
 * 
 * @return void
 */
private void initialize() {
	this.setSize(300, 200);
	this.setContentPane(getJContentPane());
	this.setTitle("JFrame");
}

/**
 * This method initializes jContentPane
 * 
 * @return javax.swing.JPanel
 */
private JPanel getJContentPane() {
	if (jContentPane == null) {
		jContentPane = new JPanel();
		jContentPane.setLayout(null);
		jContentPane.add(getArea(), null);
		jContentPane.add(getScroll(), null);
	}
	return jContentPane;
}

}[/quote]
e o erro é

[quote]Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at javax.swing.JScrollPane.setVerticalScrollBar(Unknown Source)
at teste.getArea(teste.java:32)
at teste.getJContentPane(teste.java:94)
at teste.initialize(teste.java:81)
at teste.(teste.java:71)
at teste$1.run(teste.java:59)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)[/quote]

[quote]Kra tenta colocar textarea esse codigo…

Code:

Espero ter ajudado… [/quote]

Deu certinho amigo… vlw pela ajuda!

Alguem sabe qual o meu problema? eu nem sequer uma barra vertical dentro do textArea to conseguindo… mandei meu codigo…

Primeiro problema:

	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getArea(), null);
			jContentPane.add(getScroll(), null);
		}
		return jContentPane;
	}

Perceba que você invoca primeiro o método getArea() e depois invoca o método getScroll(). Só que temos aí um probleminha: getArea() tenta “ler” o o campo scroll da sua classe, campo este que só é instanciado pelo método getScroll(). Ou seja, quando o método getArea() tenta fazer

sc.setVerticalScrollBar(scroll);

Ele tá passando para o método setVerticalScrollBar(…) o campo scroll, que ainda está “valendo” null. Daí, internamente, as classes do Java não aceitam esse null e te mandam aquela exceção.

Segundo problema:
Porque vc tá tentando colocar na mão os scroll bars do scroll pane? Ele coloca pra vc automaticamente!

Ola pessoal estou com um problema em fazer o scroll aparecer…
meu código esta assim

[code] private JTextArea mensagens = new JTextArea();
private JScrollPane scrollPane = new JScrollPane(mensagens, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

Principal(final Usuario user) {
mensagens.setText(uc.abrirMensagens());
add(mensagens);
add(scrollPane);
}[/code]

já tentei de várias outras maneiras mas nenhuma funcionou, neste JTextArea eu carrego uma string que busquei de um arquivo txt, no começo ele fica preenchido com os dados pela metade porém chega um hora em que o campo inteiro estará preencido, e preciso do scroll.
Alguém tem alguma ideia??
já recorri atá aos videos do youtube, meu código fica igual porém não aparece o scroll.
OBS: não da erro, somente não aparece.

Resolvido ja …