我在JPanel中有一个JTextArea。如何让JTextArea填充整个JPanel并在JPanel调整大小时调整大小,并在输入太多文本时滚动?自动调整大小和滚动的Java JTextArea
回答
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或http://download.oracle.com/javase/tutorial/uiswing/components/scrollpane.html的更多详细信息JScrollPane的
放置的JTextArea一个JScrollPane内,和地点到JPanel中与修复该尺寸的布局。用GridBagLayout的一个例子,比如看起来是这样的:
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);
这只是一个粗略的草图,但应说明如何做到这一点。
几乎没有投票赞成,因为使用GridBagLayout来处理这样一个简单的需求。 – 2010-10-02 01:27:58
千万不要使用GridBagLayout!决不! – 2010-10-02 04:46:03
通过与Swing中的每个其他布局管理器的长时间完全的烦恼,我现在几乎全部使用GridBagLayout。这是我个人历史的一件神器,而不是一个推荐。请确保使用符合您需求的布局管理器。在这种情况下,我认为权重的确切规格明确显示滚动窗格吸收所有大小变化。但是,它实际上并不值得使用复杂的布局管理器来进行简单的布局。 – Zoe 2010-10-03 16:30:28
- 1. 自动调整大小的JTextArea
- 2. 滚动/调整大小UITableView
- 3. Swing JTextArea:在自动换行后调整对话框的大小
- 4. Java GUI自动调整大小
- 5. Java Swings自动调整图片大小
- 6. iframe自动调整大小
- 7. 自动NSView调整大小
- 8. Android - 自动调整大小
- 9. Jsplitpane自动调整大小
- 10. JTabbedPane自动调整大小
- 11. 自动调整大小JTabbedPane
- 12. UILabel - 自动调整大小
- 13. 自动调整大小CCLabelBMFont
- 14. GtkTextView自动调整大小
- 15. CStatusBarCtrl自动调整大小
- 16. DataGridView自动调整大小
- 17. DirectShow自动调整大小
- 18. 滚动时调整UICollectionView的大小
- 19. 调整大小滚动条上的CSS
- 20. 停止调整大小的滚动条
- 21. 调整colorbox的大小时滚动
- 22. 调整自动滚动滚动条以隐藏特定的表单大小
- 23. 摆动:自动调整大小按钮上方的文本?
- 24. Facebook IFrame自动调整大小仍然包括滚动条
- 25. CodeMirror:水平自动调整大小,不带滚动条
- 26. extjs gridpanel内面板不自动滚动或调整大小
- 27. UIView容器自动滚动键盘调整大小
- 28. 滚动条自动隐藏,除非我调整页面大小
- 29. 摆动:关于调整JFrames和有条件滚动的大小
- 30. 滚动嵌套调整大小
伟大的答案谢谢! – 2013-12-27 17:18:23