Java JLayeredPane破坏布局

Java JLayeredPane破坏布局,java,swing,layout-manager,miglayout,jlayeredpane,Java,Swing,Layout Manager,Miglayout,Jlayeredpane,我想要一个日历,其中条目与JTable重叠。 该JTable位于scrollpane内,而scrollpane又位于JLayeredPane内 setLayout(new MigLayout("", "[:20%:200px,grow][26%,grow][26%,grow][26%]", "[:15%:80px,grow][85%,grow]")); add(layeredPane, "cell 1 1 3 1,grow"); layeredPane.setLayout(new MigLay

我想要一个日历,其中条目与JTable重叠。 该JTable位于scrollpane内,而scrollpane又位于JLayeredPane内

setLayout(new MigLayout("", "[:20%:200px,grow][26%,grow][26%,grow][26%]", "[:15%:80px,grow][85%,grow]"));

add(layeredPane, "cell 1 1 3 1,grow");
layeredPane.setLayout(new MigLayout("", "[100%,grow]", "[100%,grow]"));
layeredPane.setBackground(Color.BLACK);

table = new JTable();

JScrollPane scrollPane = new JScrollPane(table);
layeredPane.add(scrollPane, "cell 0 0,grow",0);
我现在正在计算面板的边界,它应该是一个条目。但是,将该条目添加到JLayeredPane时,整个布局会被破坏,似乎位于同一层上。即使我的计算值是错误的,错误的结果仍然应该显示在不同的层上

JPanel panel = new JPanel();
panel.setBounds((int)position.getX(), (int)position.getY(), width, height);
panel.setBackground(Color.BLACK);
pane.add(panel, 300); // This is the JLayeredPane
但是,当我进入全屏时,会发生以下情况:

为什么窗格没有在不同的层上显示面板,为什么我的布局被它损坏

pane.add(panel, 300); 
好的,这似乎就是您将面板添加到分层窗格的代码。虽然在代码的其他地方也有一个名为“layeredPane”的变量,所以我不确定

如果这是指分层窗格,则这不是向层添加组件的方式:

  • 为什么要使用300作为图层?这不是像素位置
  • 图层由
    整数
    值指定,而不是int
  • 阅读Swing教程中关于的部分,了解更多信息和工作示例。

    在您的最后一个问题中:您被要求发布一篇文章。每个问题都应张贴MRE。也就是说,使用JFrame、分层窗格、JTable和面板发布代码。您不应该使用miglayet,因为它不是JDK的一部分。关键是在担心应用程序之前,先学习如何使用分层窗格。