Java JTextarea que resuelve automáticamente
-
27-09-2019 - |
Pregunta
Tengo un jtextearea en un jpanel. ¿Cómo puedo hacer que el jtexteArea llene todo el jpanel y cambiar el tamaño cuando el jpanel cambia de tamaño y se despliega cuando se escribe demasiado texto?
Solución
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 o http://download.oracle.com/javase/tutorial/uiswing/components/scrollpane.html Para más detalles sobre JSCrollPane
Otros consejos
Coloque el jtexTarea dentro de un jscrollpane y colóquelo en el jpanel con un diseño que fija el tamaño. Un ejemplo con un GridbagLayout, por ejemplo, podría verse así:
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 es solo un boceto aproximado, pero debe ilustrar cómo hacerlo.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow