【发布时间】:2020-08-27 00:29:58
【问题描述】:
我想要一个包含与 JTable 重叠的条目的日历。 该 JTable 位于滚动窗格内,而滚动窗格又位于 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
但是,当我进入全屏模式时,会发生这种情况:
为什么面板没有在不同的图层上显示面板,为什么我的布局被它破坏了?
【问题讨论】:
-
在您的最后一个问题中:stackoverflow.com/questions/61564904/layout-calendar-events 您被要求发布minimal reproducible example。每个问题都应该发布一个 MRE。也就是说,您使用 JFrame、分层窗格、JTable 和面板发布代码。您不应该使用 MigLayout,因为它不是 JDK 的一部分。关键是在担心您的应用程序之前先了解如何使用分层窗格。
标签: java swing layout-manager miglayout jlayeredpane