OverlayLayout を使用して、JTabbedPane の上部のタブに沿って小さなテキストを配置しようとしていますが、うまくいかないようです。
注として、私は JLayeredPane を使用していましたが、親コンポーネントを埋めるために TabbedPane が必要であり、いくつかの仕上げなしでは機能しないように見えました。
とにかく、配置をそのままにしておくと、動作は期待どおりに機能するようです (ボタンが背景の上に浮かびます)。ただし、何らかの配置を使用する場合 (これがこのレイアウト マネージャーで位置を設定する方法であると私は理解しています)、ボタンがあるべき場所の端に背景を縮小します。
ここにいくつかのサンプルコードがあります。
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);
}
}
任意の提案をいただければ幸いです。