Java OverlyLayout不';似乎没有分层
我试图使用OverlayLayout将一小段文本与JTabbedPane的顶部选项卡对齐,但它似乎不起作用 值得注意的是,我使用的是一个JLayeredPane,但是我需要TabbedPane来填充父组件,而且如果没有一些欺骗,它似乎无法正常工作 不管怎么说,似乎当你不去理睬路线时,行为就如预期的那样工作(按钮在背景上浮动)。但是,当使用任何类型的对齐方式时(我的理解是,这就是使用布局管理器设置位置的方式),它会将背景缩小到按钮应位于的边缘 下面是一些示例代码Java OverlyLayout不';似乎没有分层,java,swing,layout,overlay,Java,Swing,Layout,Overlay,我试图使用OverlayLayout将一小段文本与JTabbedPane的顶部选项卡对齐,但它似乎不起作用 值得注意的是,我使用的是一个JLayeredPane,但是我需要TabbedPane来填充父组件,而且如果没有一些欺骗,它似乎无法正常工作 不管怎么说,似乎当你不去理睬路线时,行为就如预期的那样工作(按钮在背景上浮动)。但是,当使用任何类型的对齐方式时(我的理解是,这就是使用布局管理器设置位置的方式),它会将背景缩小到按钮应位于的边缘 下面是一些示例代码 import java.awt.C
import java.awt.Color;
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.OverlayLayout;
public class Test {
public static void main(String[] args) {
JFrame frame = new JFrame();
Container c = frame.getContentPane();
c.setLayout(new OverlayLayout(c));
JButton button = new JButton("Test");
JPanel background = new JPanel();
background.setBackground(Color.BLUE);
background.setSize(500, 500);
// toggle the following between 0 and 100 to see the described behavior
background.setAlignmentX(100);
frame.add(background);
frame.add(button);
frame.pack();
frame.setSize(800, 800);
frame.setVisible(true);
}
}
如果您有任何建议,我们将不胜感激。您可以使用
setGlassPane
方法将窗格置于框架中的其他窗格之上。签入您可以使用方法setGlassPane
将窗格置于框架中的其他窗格之上。办理登机手续
setMaximumSize()
如果您真的想创建覆盖另一个组件的JComponents,请查看
- JLayeredPane-->过时,最多只能使用第6个分层窗格
- JXLayer for Java6或直接实现为Java7中的JLayer
- 对于简单的覆盖,您也可以使用GlassPane
- 错误在于使用setBound(),这对LayoutManager来说是无用的,而且是相反的
- 使用about
setMaximumSize()
- JLayeredPane-->过时,最多只能使用第6个分层窗格
- JXLayer for Java6或直接实现为Java7中的JLayer
- 对于简单的覆盖,您也可以使用GlassPane
如果您真的想创建覆盖另一个组件的JComponents,请查看