Domanda

Ho un JTextArea in un JPanel. Come posso avere la JTextArea riempire tutto il JPanel e ridimensionare quando il JPanel ridimensiona e di scorrimento quando troppo testo viene digitato?

È stato utile?

Soluzione

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.oracle.com /javase/6/docs/api/javax/swing/JScrollPane.html o http://download.oracle.com/javase/tutorial/uiswing/components/scrollpane.html per maggiori dettagli su JScrollPane

Altri suggerimenti

Inserire il JTextArea interno di un JScrollPane, e posto che nella JPanel con con un layout che fissa le dimensioni. Un esempio con un GridBagLayout, per esempio, potrebbe essere la seguente:

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

Questa è solo un abbozzo, ma dovrebbe illustrare come farlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top