Files
OAC-Swing/src/main/java/org/openautonomousconnection/oacswing/component/OACRootPane.java

131 lines
3.3 KiB
Java
Raw Normal View History

2026-02-07 18:54:19 +01:00
/* Author: Maple
* Feb. 2 2026
* */
package org.openautonomousconnection.oacswing.component;
import lombok.NonNull;
2026-02-07 18:54:19 +01:00
import javax.swing.*;
import java.awt.*;
public class OACRootPane extends JRootPane implements OACComponent {
public OACRootPane() {
super();
}
@Override
protected OACLayeredPane createLayeredPane() {
OACLayeredPane p = new OACLayeredPane();
2026-02-11 23:28:02 +01:00
p.setName(this.getName() + ".layeredPane");
2026-02-07 18:54:19 +01:00
return p;
}
@Override
protected Container createContentPane() {
JComponent c = new OACPanel();
2026-02-11 23:28:02 +01:00
c.setName(this.getName() + ".contentPane");
2026-02-07 18:54:19 +01:00
c.setLayout(new BorderLayout() {
/* This BorderLayout subclass maps a null constraint to CENTER.
* Although the reference BorderLayout also does this, some VMs
* throw an IllegalArgumentException.
*/
public void addLayoutComponent(Component comp, Object constraints) {
if (constraints == null) {
constraints = BorderLayout.CENTER;
}
super.addLayoutComponent(comp, constraints);
}
});
return c;
}
// public void setOACMenuBar(OACMenuBar menu) {
// super.setJMenuBar(menu);
// }
@Deprecated
@Override
public JMenuBar getJMenuBar() {
2026-02-11 23:28:02 +01:00
if (this.menuBar instanceof OACMenuBar oacMenuBar)
2026-02-07 18:54:19 +01:00
return oacMenuBar;
else
return this.menuBar;
}
public OACMenuBar getOACMenuBar() {
return (OACMenuBar) this.menuBar;
}
@Override
2026-02-11 23:28:02 +01:00
public OACButton getDefaultButton() {
return (OACButton) this.defaultButton;
2026-02-07 18:54:19 +01:00
}
@Deprecated
@Override
public void setDefaultButton(JButton defaultButton) {
2026-02-11 23:28:02 +01:00
if (defaultButton instanceof OACButton)
2026-02-07 18:54:19 +01:00
super.setDefaultButton(defaultButton);
}
public void setDefaultButton(OACButton defaultButton) {
super.setDefaultButton(defaultButton);
}
@Override
2026-02-11 23:28:02 +01:00
public OACLayeredPane getLayeredPane() {
return (OACLayeredPane) this.layeredPane;
2026-02-07 18:54:19 +01:00
}
2026-02-11 23:28:02 +01:00
@Deprecated
2026-02-07 18:54:19 +01:00
@Override
2026-02-11 23:28:02 +01:00
public void setLayeredPane(JLayeredPane layered) {
if (layered instanceof OACLayeredPane)
super.setLayeredPane(layered);
}
public void setLayeredPane(OACLayeredPane layeredPane) {
super.setLayeredPane(layeredPane);
}
2026-02-07 18:54:19 +01:00
@Override
protected Component createGlassPane() {
OACPanel c = new OACPanel();
2026-02-11 23:28:02 +01:00
c.setName(this.getName() + ".glassPane");
2026-02-07 18:54:19 +01:00
c.setVisible(false);
c.setOpaque(false);
return c;
}
@Override
public Component add(Component comp) {
this.initOther(comp);
return super.add(comp);
}
@Override
public Component add(Component comp, int index) {
this.initOther(comp);
return super.add(comp, index);
}
@Override
public void add(@NonNull Component comp, Object constraints) {
2026-02-07 18:54:19 +01:00
this.initOther(comp);
super.add(comp, constraints);
}
@Override
public Component add(String name, Component comp) {
this.initOther(comp);
return super.add(name, comp);
}
@Override
public void add(Component comp, Object constraints, int index) {
this.initOther(comp);
super.add(comp, constraints, index);
}
}