因此,当我创建 JTextPane 并将其添加到 JFrame 时,它会填满框架,并随之移动。我该如何阻止它,以便我可以做pane.setSize?
问问题
103 次
3 回答
1
JFrame
已经BorderLayout
在 API 中实现了,那么
JFrame.add(JTextPane)
等于JFrame.add(JTextPane, BorderLayout.CENTER)
如果只有一个JComponent
放入JFrame
,则(中心区域)填充所有Dimension
返回容器的可用
不知道你团结起来想做什么
正确使用
LayoutManager
利用
JScrollPane
于 2012-07-09T19:23:57.420 回答
1
创建一个新的 gridBagLayout 并相应地设置 GridBagConstraints。
Container pane;
pane.setLayout(new GridBagLayout());
GridBagConstraints c;
c = new GridBagConstraints();
c.fill = GridBagConstraints.BOTH;
c.ipady = 0;
c.weightx = 1.0;
c.weighty = 1.0;
c.insets = new Insets(2, 2, 2, 2);
c.gridx = 0;
c.gridy = 0;
pane.add(jsp, c);
pane.setBackground(Color.cyan);
getContentPane().add(pane);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setTitle("TITLE");
setLocation(150, 50);
pack();
setSize(600, 800);
于 2012-07-09T19:36:16.490 回答
1
最简单的方法是创建一个 JPanel 并将 JTextPane 添加到面板中。然后您可以将面板添加到框架中。
JPanel panel = new JPanel();
panel.setLayout(null);
JTextPane pane = new JTextPane();
panel.add(pane);
this.add(panel); //assuming that this extends JFrame
您现在应该能够适当地调整文本窗格的大小。
于 2012-07-09T19:22:00.590 回答