繁体   English   中英

如何根据JPanel的大小设置JTextPane的大小?

[英]How to set the size of JTextPane according to the size of JPanel?

我想根据面板的大小设置JTextPane的大小,以便当我添加其他面板时,它会相应地更改。 但这只是在中心提供了一个小的文本窗格,当我添加一些文本时,它的大小也会相应地变化。

JPanel panel = new JPanel();
JTextPane txt = new JTextPane();
JScrollPane pane = new JScrollPane();
pane.add(txt);
panel.add(pane,BorderLayout.CENTER);
add(pane);

现在,jtextpane就像一个小盒子一样出现在屏幕中央。 我希望它根据面板的大小显示

JPanel默认使用FlowLayout ,它会根据组件的首选大小为其设置大小。 您可以使用BorderLayout ,它将使用最大可能的面积。

还使用约束如BorderLayout.CENTER具有除非容器实际使用无影响BorderLayout 不要add组件addJScrollPane 这将替换组件视图中的所有组件。 而是将JTextPane设置为ViewPortView ,例如

JPanel panel = new JPanel(new BorderLayout());
JTextPane txt = new JTextPane();
JScrollPane pane = new JScrollPane(txt);
// pane.add(txt); remove
panel.add(pane, BorderLayout.CENTER);

读:

您添加了两次pane 而是将panel添加到您的基础(一个JFrame吗?)中,并记住实际将JPanel设置为使用BorderLayout

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM