OverlayLayoutの使用
Total: 17039
, Today: 2
, Yesterday: 2
Posted by aterai at
Last-modified:
概要
OverlayLayout
を使用し、JButton
を重ねて配置します。
Screenshot
Advertisement
サンプルコード
JButton b1 = new JButton();
JButton b2 = new JButton();
b1.setLayout(new OverlayLayout(b1));
Insets i = b1.getInsets();
b1.setBorder(BorderFactory.createEmptyBorder(i.top, i.left, i.bottom, 4));
b1.setAction(new AbstractAction("OverlayLayoutButton") {
@Override public void actionPerformed(ActionEvent e) {
Toolkit.getDefaultToolkit().beep();
}
});
JButton b2 = new JButton() {
private final Dimension dim = new Dimension(120, 24);
@Override public Dimension getPreferredSize() {
return dim;
}
@Override public Dimension getMaximumSize() {
return getPreferredSize();
}
@Override public Dimension getMinimumSize() {
return getPreferredSize();
}
};
b2.setAction(new AbstractAction("▼") {
@Override public void actionPerformed(ActionEvent e) {
System.out.println("sub");
}
});
b2.setAlignmentX(Component.RIGHT_ALIGNMENT);
b2.setAlignmentY(Component.BOTTOM_ALIGNMENT);
b1.add(b2);
View in GitHub: Java, Kotlin解説
- 親
JButton
をコンテナとして別の子JButton
を追加 - 親
JButton
のレイアウトとしてOverlayLayout
を設定し、setAlignmentX(...)
などで子JButton
が右下に配置されるよう設定