Pergunta

Eu tenho um jtextarea em um jpanel. Como posso fazer com que o jtextarea preencha todo o jpanel e redimensione quando o jpanel redimensione e role quando muito texto é digitado?

Foi útil?

Solução

JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());  //give your JPanel a BorderLayout

JTextArea text = new JTextArea(); 
JScrollPane scroll = new JScrollPane(text); //place the JTextArea in a scroll pane
panel.add(scroll, BorderLayout.CENTER); //add the JScrollPane to the panel
// CENTER will use up all available space

Ver http://download.oracle.com/javase/6/docs/api/javax/swing/jscrollpane.html ou http://download.oracle.com/javase/tutorial/uiswing/components/scrollpane.html Para mais detalhes sobre o JScrollPane

Outras dicas

Coloque a JTexTarea dentro de um jscrollPane e coloque -o no jpanel com um layout que corrige o tamanho. Um exemplo com um gridbaglayout, por exemplo, pode ser assim:

JPanel panel = new JPanel();
panel.setLayout(new GridBagLayout());

JScrollPane scrollpane = new JScrollPane();
GridBagConstraints cons = new GridBagContraints();
cons.weightx = 1.0;
cons.weighty = 1.0;
panel.add(scrollPane, cons);

JTextArea textArea = new JTextArea();
scrollPane.add(textArea);

Este é apenas um esboço difícil, mas deve ilustrar como fazê -lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top