[英]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
组件add
到JScrollPane
。 这将替换组件视图中的所有组件。 而是将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.