Added 'design' functionality

This commit is contained in:
Tinglyyy
2026-02-07 18:54:19 +01:00
parent fbaec2464c
commit c7fa63b769
58 changed files with 2941 additions and 86 deletions

View File

@@ -0,0 +1,129 @@
/* Author: Maple
* Feb. 2 2026
* */
package org.openautonomousconnection.oacswing.component;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
import java.awt.*;
public class OACRootPane extends JRootPane implements OACComponent {
public OACRootPane() {
super();
}
@Override
protected OACLayeredPane createLayeredPane() {
OACLayeredPane p = new OACLayeredPane();
p.setName(this.getName()+".layeredPane");
return p;
}
@Override
protected Container createContentPane() {
JComponent c = new OACPanel();
c.setName(this.getName()+".contentPane");
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() {
if(this.menuBar instanceof OACMenuBar oacMenuBar)
return oacMenuBar;
else
return this.menuBar;
}
public OACMenuBar getOACMenuBar() {
return (OACMenuBar) this.menuBar;
}
@Deprecated
@Override
public void setLayeredPane(JLayeredPane layered) {
if(layered instanceof OACLayeredPane)
super.setLayeredPane(layered);
}
public void setLayeredPane(OACLayeredPane layeredPane) {
super.setLayeredPane(layeredPane);
}
@Deprecated
@Override
public void setDefaultButton(JButton defaultButton) {
if(defaultButton instanceof OACButton)
super.setDefaultButton(defaultButton);
}
public void setDefaultButton(OACButton defaultButton) {
super.setDefaultButton(defaultButton);
}
@Override
public OACButton getDefaultButton() {
return (OACButton) this.defaultButton;
}
@Override
public OACLayeredPane getLayeredPane() { return (OACLayeredPane) this.layeredPane; }
@Override
protected Component createGlassPane() {
OACPanel c = new OACPanel();
c.setName(this.getName()+".glassPane");
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(@NotNull Component comp, Object constraints) {
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);
}
}