Java jtextarea, что автоматически изменяет размер и прокрутки

StackOverflow https://stackoverflow.com/questions/3843493

Вопрос

У меня есть jtextarea в jpanel. Как я могу получить jtextarea наполнить всю jpanel и изменять размер, когда jpanel изменяет изменение изменений и прокрутки, когда введен слишком большой текст?

Это было полезно?

Решение

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

Видеть http://download.orcle.com/javase/6/docs/api/javax/swing/jscrollpane.html. или http://download.orcle.com/javase/tutorial/uiswing/components/scrollpane.html. Для более подробной информации о jscrollpane

Другие советы

Поместите jtextarea внутри jscrollpane и поместите это в jpanel с помощью макета, который исправляет размер. Пример с Greidbaglayout, например, может выглядеть так:

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);

Это только бурный эскиз, но он должен проиллюстрировать, как это сделать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top