Java JTextArea que auto-redimensionne et rouleaux
-
27-09-2019 - |
Question
J'ai un JTextArea dans un JPanel. Comment puis-je avoir le JTextArea remplir l'ensemble JPanel et redimensionnez lorsque le JPanel redimensionne et défilement lorsque le texte est trop tapé dans?
La solution
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
Voir http://download.oracle.com /javase/6/docs/api/javax/swing/JScrollPane.html ou http://download.oracle.com/javase/tutorial/uiswing/components/scrollpane.html pour plus de détails sur JScrollPane
Autres conseils
Placez le JTextArea à l'intérieur d'un JScrollPane et lieu que dans le JPanel avec une mise en page qui fixe la taille. Un exemple avec un GridBagLayout, par exemple pourrait ressembler à ceci:
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);
Ceci est seulement une esquisse, mais il devrait illustrer comment le faire.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow