gpt4 book ai didi

java - 调整 LayeredPane Swing 的大小

转载 作者:行者123 更新时间:2023-12-02 07:38:42 25 4
gpt4 key购买 nike

我有一个使用 BorderLayout 的 JPanel,并包含一个 jTable 和一个 layeredPane。我需要使用layeredPane,因为它在jTextPane 顶部包含一个jComboBox。问题是,当用户调整屏幕大小时,layeredPane 不会调整大小。我怎样才能解决这个问题?我有这样的东西:

JPanel panel = new JPanel(new Borderlayout());
MyTable table = new MyTable();
panel.add(table, BorderLayout.CENTER);
JLayeredPane layeredPane = new JLayeredPane();
//addind things in the layered pane
panel.add(layeredPane, BorderLayout.PAGE_END);

对分层 Pane 使用布局管理器不起作用,因为我需要重叠组件。

最佳答案

在您发布的示例中,JLayeredPane 占据了带有 BorderLayout 的面板中的 SOUTH (BorderLayout.PAGE_END) 位置。这意味着 CENTER 中的组件将占用为面板提供的所有额外空间。您的 table 位于中心。

只需将 JLayeredPane 放在中心,将表格放在北部,即可让 Pane 占据所有额外空间。

有关边框布局的更多信息:
http://docs.oracle.com/javase/tutorial/uiswing/layout/border.html

您可能还想了解有关 Swing 布局的更多信息:
http://docs.oracle.com/javase/tutorial/uiswing/layout/index.html

关于java - 调整 LayeredPane Swing 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11860412/

25 4 0
文章推荐: java - Android:如何将 HttpResponse 转换为 List