From c7fa63b769a3651b0c353ad4f56767211bf7c4b3 Mon Sep 17 00:00:00 2001 From: Tinglyyy Date: Sat, 7 Feb 2026 18:54:19 +0100 Subject: [PATCH] Added 'design' functionality --- pom.xml | 11 ++ .../oacswing/JAnimatedComponent.java | 15 -- .../oacswing/JTitledComponent.java | 26 ---- .../oacswing/ModifiableImageIcon.java | 96 +++++++++++++ .../oacswing/animated/AnimatedComponent.java | 62 +++++++++ .../oacswing/animated/AnimationPath.java | 4 + .../oacswing/animated/JAnimatedPanel.java | 46 +------ .../oacswing/animated/KeyFrame.java | 4 + .../oacswing/component/OACAnimatedPanel.java | 25 ++++ .../oacswing/component/OACButton.java | 65 +++++++++ .../oacswing/component/OACCheckBox.java | 69 ++++++++++ .../component/OACCheckBoxMenuItem.java | 65 +++++++++ .../oacswing/component/OACColorChooser.java | 37 +++++ .../oacswing/component/OACComboBox.java | 54 ++++++++ .../oacswing/component/OACComponent.java | 106 ++++++++++++++ .../oacswing/component/OACFrame.java | 105 ++++++++++++++ .../oacswing/component/OACLabel.java | 33 +++++ .../oacswing/component/OACLayeredPane.java | 46 +++++++ .../oacswing/component/OACList.java | 59 ++++++++ .../oacswing/component/OACMenu.java | 58 ++++++++ .../oacswing/component/OACMenuBar.java | 46 +++++++ .../oacswing/component/OACMenuItem.java | 66 +++++++++ .../oacswing/component/OACOptionPane.java | 70 ++++++++++ .../oacswing/component/OACPanel.java | 58 ++++++++ .../oacswing/component/OACPasswordField.java | 63 +++++++++ .../oacswing/component/OACPopupMenu.java | 50 +++++++ .../oacswing/component/OACProgressBar.java | 62 +++++++++ .../oacswing/component/OACRadioButton.java | 74 ++++++++++ .../component/OACRadioButtonMenuItem.java | 74 ++++++++++ .../oacswing/component/OACRootPane.java | 129 ++++++++++++++++++ .../oacswing/component/OACScrollBar.java | 54 ++++++++ .../oacswing/component/OACScrollPane.java | 58 ++++++++ .../oacswing/component/OACSeparator.java | 50 +++++++ .../oacswing/component/OACSlider.java | 66 +++++++++ .../oacswing/component/OACSpinner.java | 50 +++++++ .../oacswing/component/OACSplitPane.java | 62 +++++++++ .../oacswing/component/OACTabbedPane.java | 54 ++++++++ .../oacswing/component/OACTable.java | 73 ++++++++++ .../oacswing/component/OACTextArea.java | 67 +++++++++ .../oacswing/component/OACTextField.java | 63 +++++++++ .../oacswing/component/OACTextPane.java | 50 +++++++ .../component/OACTitledComponent.java | 34 +++++ .../oacswing/component/OACToggleButton.java | 74 ++++++++++ .../oacswing/component/OACToolBar.java | 58 ++++++++ .../oacswing/component/OACToolTip.java | 45 ++++++ .../oacswing/component/OACTree.java | 74 ++++++++++ .../oacswing/component/OACViewport.java | 45 ++++++ .../oacswing/component/OACWindow.java | 62 +++++++++ .../oacswing/component/design/Design.java | 52 +++++++ .../component/design/DesignManager.java | 80 +++++++++++ .../oacswing/component/design/OACColor.java | 47 +++++++ .../oacswing/component/design/Style.java | 22 +++ .../oacswing/icons/IconSize.java | 30 ++++ .../oacswing/icons/temp/TempIcons.java | 22 +++ .../resources/defaults/icons/temp_hole.png | Bin 0 -> 201324 bytes .../oacswing/test/AnimationTests.java | 11 +- .../oacswing/test/CustomizedTests.java | 34 +++++ .../oacswing/test/TestUtils.java | 12 ++ 58 files changed, 2941 insertions(+), 86 deletions(-) delete mode 100644 src/main/java/org/openautonomousconnection/oacswing/JAnimatedComponent.java delete mode 100644 src/main/java/org/openautonomousconnection/oacswing/JTitledComponent.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/ModifiableImageIcon.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/animated/AnimatedComponent.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACAnimatedPanel.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACButton.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACCheckBox.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACCheckBoxMenuItem.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACColorChooser.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACComboBox.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACComponent.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACFrame.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACLabel.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACLayeredPane.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACList.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACMenu.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACMenuBar.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACMenuItem.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACOptionPane.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACPanel.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACPasswordField.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACPopupMenu.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACProgressBar.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACRadioButton.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACRadioButtonMenuItem.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACRootPane.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACScrollBar.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACScrollPane.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACSeparator.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACSlider.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACSpinner.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACSplitPane.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACTabbedPane.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACTable.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACTextArea.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACTextField.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACTextPane.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACTitledComponent.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACToggleButton.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACToolBar.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACToolTip.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACTree.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACViewport.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/OACWindow.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/design/Design.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/design/DesignManager.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/design/OACColor.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/component/design/Style.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/icons/IconSize.java create mode 100644 src/main/java/org/openautonomousconnection/oacswing/icons/temp/TempIcons.java create mode 100644 src/main/resources/defaults/icons/temp_hole.png create mode 100644 src/test/java/org/openautonomousconnection/oacswing/test/CustomizedTests.java diff --git a/pom.xml b/pom.xml index 324202e..aa8a9df 100644 --- a/pom.xml +++ b/pom.xml @@ -26,6 +26,17 @@ 6.0.0 test + + net.bytebuddy + byte-buddy + 1.18.4 + + + org.jetbrains + annotations + 26.0.2 + compile + \ No newline at end of file diff --git a/src/main/java/org/openautonomousconnection/oacswing/JAnimatedComponent.java b/src/main/java/org/openautonomousconnection/oacswing/JAnimatedComponent.java deleted file mode 100644 index e12ef8b..0000000 --- a/src/main/java/org/openautonomousconnection/oacswing/JAnimatedComponent.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.openautonomousconnection.oacswing; - -public interface JAnimatedComponent { - void play(double speed, boolean loop); - - default void play(double speed) { - this.play(speed, false); - } - - default void play() { - this.play(1, false); - } - - void stop(); -} diff --git a/src/main/java/org/openautonomousconnection/oacswing/JTitledComponent.java b/src/main/java/org/openautonomousconnection/oacswing/JTitledComponent.java deleted file mode 100644 index 510ac63..0000000 --- a/src/main/java/org/openautonomousconnection/oacswing/JTitledComponent.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.openautonomousconnection.oacswing; - -import lombok.Getter; -import lombok.Setter; - -import javax.swing.*; -import java.awt.*; - -public class JTitledComponent extends JPanel { - @Getter @Setter - private JLabel title; - - @Getter @Setter - private C component; - - public JTitledComponent(String title, C component) { - this.setLayout(new FlowLayout()); - - this.title = new JLabel(title); - - this.component = component; - - this.add(this.title); - this.add(this.component); - } -} diff --git a/src/main/java/org/openautonomousconnection/oacswing/ModifiableImageIcon.java b/src/main/java/org/openautonomousconnection/oacswing/ModifiableImageIcon.java new file mode 100644 index 0000000..917ab80 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/ModifiableImageIcon.java @@ -0,0 +1,96 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing; + +import org.openautonomousconnection.oacswing.icons.IconSize; + +import javax.swing.*; +import java.awt.*; +import java.net.URL; + +/** + * Image icon with several (planned) modification methods, like resize(x, y) + */ +public class ModifiableImageIcon extends ImageIcon { + public ModifiableImageIcon(String filename, String description) { + super(filename, description); + } + + public ModifiableImageIcon(String filename) { + super(filename); + } + + public ModifiableImageIcon(URL location, String description) { + super(location, description); + } + + public ModifiableImageIcon(URL location) { + super(location); + } + + public ModifiableImageIcon(Image image, String description) { + super(image, description); + } + + public ModifiableImageIcon(Image image) { + super(image); + } + + public ModifiableImageIcon(byte[] imageData, String description) { + super(imageData, description); + } + + public ModifiableImageIcon(byte[] imageData) { + super(imageData); + } + + public ModifiableImageIcon() { + super(); + } + + public ModifiableImageIcon ofSize(IconSize iconSize, int hints) { + return this.ofSize(iconSize.getScale(), iconSize.getScale(), hints); + } + + public ModifiableImageIcon ofSize(IconSize iconSize) { + return this.ofSize(iconSize.getScale(), iconSize.getScale()); + } + + public ModifiableImageIcon ofSize(int newWidth, int newHeight) { + return this.ofSize(newWidth, newHeight, Image.SCALE_SMOOTH); + } + + public ModifiableImageIcon ofSize(int newWidth, int newHeight, int hints) { + ModifiableImageIcon icon = this.clone(); + + icon.resize(newWidth, newHeight, hints); + + return icon; + } + + public void resize(int newWidth, int newHeight) { + this.resize(newWidth, newHeight, Image.SCALE_SMOOTH); + } + + public void resize(int newWidth, int newHeight, int hints) { + Image image = this.getImage(); + + this.setImage(image.getScaledInstance(newWidth, newHeight, hints)); + } + + public void resize(IconSize iconSize) { + this.resize(iconSize.getScale(), iconSize.getScale()); + } + + public void resize(IconSize iconSize, int hints) { + this.resize(iconSize.getScale(), iconSize.getScale(), hints); + } + + @Override + public ModifiableImageIcon clone() { + return new ModifiableImageIcon(this.getImage(), this.getDescription()); + } + +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/animated/AnimatedComponent.java b/src/main/java/org/openautonomousconnection/oacswing/animated/AnimatedComponent.java new file mode 100644 index 0000000..5061724 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/animated/AnimatedComponent.java @@ -0,0 +1,62 @@ +/* Author: Maple + * Jan. 23 2026 + * */ + +package org.openautonomousconnection.oacswing.animated; + +import javax.swing.*; +import java.util.concurrent.atomic.AtomicInteger; + +public interface AnimatedComponent { + void setCurrentRun(Timer timer); + Timer getCurrentRun(); + + void setAnimationPath(AnimationPath animationPath); + AnimationPath getAnimationPath(); + + void setBounds(int x, int y, int width, int height); + + default void play(double speed, boolean loop) { + AtomicInteger ticksPassed = new AtomicInteger(); + + this.setCurrentRun(new Timer(0, e -> { + + if(ticksPassed.get() * speed / (100) < 1) { + ticksPassed.addAndGet(this.getAnimationPath().getInbetweens()); + return; + } + + KeyFrame next = this.getAnimationPath().getNext(); + + if(next == null) { + if(loop) + this.getAnimationPath().reset(); + else + ((Timer) e.getSource()).stop(); + return; + } + + this.setBounds(next.position().x, next.position().y, next.width(), next.height()); + + ticksPassed.set(0); + })); + + this.getCurrentRun().start(); + } + + default void play(double speed) { + this.play(speed, false); + } + + default void play() { + this.play(1, false); + } + + default void stop() { + if(this.getCurrentRun() != null) + if(this.getCurrentRun().isRunning()) + this.getCurrentRun().stop(); + + this.getAnimationPath().reset(); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/animated/AnimationPath.java b/src/main/java/org/openautonomousconnection/oacswing/animated/AnimationPath.java index 5fb90a2..db9c37c 100644 --- a/src/main/java/org/openautonomousconnection/oacswing/animated/AnimationPath.java +++ b/src/main/java/org/openautonomousconnection/oacswing/animated/AnimationPath.java @@ -1,3 +1,7 @@ +/* Author: Maple + * Jan. 24 2026 + * */ + package org.openautonomousconnection.oacswing.animated; import lombok.Getter; diff --git a/src/main/java/org/openautonomousconnection/oacswing/animated/JAnimatedPanel.java b/src/main/java/org/openautonomousconnection/oacswing/animated/JAnimatedPanel.java index fc016c9..5ad2f35 100644 --- a/src/main/java/org/openautonomousconnection/oacswing/animated/JAnimatedPanel.java +++ b/src/main/java/org/openautonomousconnection/oacswing/animated/JAnimatedPanel.java @@ -1,56 +1,22 @@ +/* Author: Maple + * Jan. 23 2026 + * */ + package org.openautonomousconnection.oacswing.animated; import lombok.Getter; import lombok.Setter; -import org.openautonomousconnection.oacswing.JAnimatedComponent; import javax.swing.*; -import java.util.concurrent.atomic.AtomicInteger; -public class JAnimatedPanel extends JPanel implements JAnimatedComponent { +public class JAnimatedPanel extends JPanel implements AnimatedComponent { @Getter @Setter private AnimationPath animationPath; + @Getter @Setter private Timer currentRun = null; public JAnimatedPanel(AnimationPath animationPath) { this.animationPath = animationPath; } - - - @Override - public void play(double speed, boolean loop) { - - AtomicInteger ticksPassed = new AtomicInteger(); - - this.currentRun = new Timer(0, e -> { - - if(ticksPassed.get() * speed / (100) < 1) { - ticksPassed.addAndGet(animationPath.getInbetweens()); - return; - } - - KeyFrame next = animationPath.getNext(); - - if(next == null) { - ((Timer) e.getSource()).stop(); - return; - } - - setBounds(next.position().x, next.position().y, next.width(), next.height()); - - ticksPassed.set(0); - }); - - this.currentRun.start(); - } - - @Override - public void stop() { - if(this.currentRun != null) - if(this.currentRun.isRunning()) - this.currentRun.stop(); - - this.animationPath.reset(); - } } diff --git a/src/main/java/org/openautonomousconnection/oacswing/animated/KeyFrame.java b/src/main/java/org/openautonomousconnection/oacswing/animated/KeyFrame.java index 87ab3f3..ee0ed6e 100644 --- a/src/main/java/org/openautonomousconnection/oacswing/animated/KeyFrame.java +++ b/src/main/java/org/openautonomousconnection/oacswing/animated/KeyFrame.java @@ -1,3 +1,7 @@ +/* Author: Maple + * Jan. 24 2026 + * */ + package org.openautonomousconnection.oacswing.animated; import javax.swing.*; diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACAnimatedPanel.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACAnimatedPanel.java new file mode 100644 index 0000000..b04dfee --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACAnimatedPanel.java @@ -0,0 +1,25 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import lombok.Getter; +import lombok.Setter; +import org.openautonomousconnection.oacswing.animated.AnimatedComponent; +import org.openautonomousconnection.oacswing.animated.AnimationPath; + +import javax.swing.*; + +public class OACAnimatedPanel extends OACPanel implements AnimatedComponent { + @Getter + @Setter + private AnimationPath animationPath; + + @Getter @Setter + private Timer currentRun = null; + + public OACAnimatedPanel(AnimationPath animationPath) { + this.animationPath = animationPath; + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACButton.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACButton.java new file mode 100644 index 0000000..7726528 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACButton.java @@ -0,0 +1,65 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; +import org.openautonomousconnection.oacswing.component.design.Design; + +import javax.swing.*; +import java.awt.*; +import java.beans.ConstructorProperties; + +public class OACButton extends JButton implements OACComponent { + public OACButton() { + super(null, null); + } + + public OACButton(Design design, Icon icon) { + super(null, icon); + } + + @ConstructorProperties({"text"}) + public OACButton(String text) { + super(text, null); + } + + public OACButton(Action a) { + super(a); + } + + public OACButton(String text, Icon icon) { + super(text, icon); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACCheckBox.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACCheckBox.java new file mode 100644 index 0000000..f088402 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACCheckBox.java @@ -0,0 +1,69 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACCheckBox extends JCheckBox implements OACComponent { + public OACCheckBox() { + super(); + } + + public OACCheckBox(Icon icon) { + super(icon); + } + + public OACCheckBox(Icon icon, boolean selected) { + super(icon, selected); + } + + public OACCheckBox(String text) { + super(text); + } + + public OACCheckBox(Action a) { + super(a); + } + + public OACCheckBox(String text, boolean selected) { + super(text, selected); + } + + public OACCheckBox(String text, Icon icon) { + super(text, icon); + } + + public OACCheckBox(String text, Icon icon, boolean selected) { + super(text, icon, selected); + } + + @Override + public Component add(Component comp) { + return OACComponent.super.add(comp); + } + + @Override + public Component add(Component comp, int index) { + return OACComponent.super.add(comp, index); + } + + @Override + public void add(@NotNull Component comp, Object constraints) { + OACComponent.super.add(comp, constraints); + } + + @Override + public Component add(String name, Component comp) { + return OACComponent.super.add(name, comp); + } + + @Override + public void add(Component comp, Object constraints, int index) { + OACComponent.super.add(comp, constraints, index); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACCheckBoxMenuItem.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACCheckBoxMenuItem.java new file mode 100644 index 0000000..21dafa3 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACCheckBoxMenuItem.java @@ -0,0 +1,65 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACCheckBoxMenuItem extends JCheckBoxMenuItem implements OACComponent { + public OACCheckBoxMenuItem() { + super(); + } + + public OACCheckBoxMenuItem(Icon icon) { + super(icon); + } + + public OACCheckBoxMenuItem(String text) { + super(text); + } + + public OACCheckBoxMenuItem(Action a) { + super(a); + } + + public OACCheckBoxMenuItem(String text, Icon icon) { + super(text, icon); + } + + public OACCheckBoxMenuItem(String text, boolean b) { + super(text, b); + } + + public OACCheckBoxMenuItem(String text, Icon icon, boolean b) { + super(text, icon, b); + } + + @Override + public Component add(Component comp) { + return OACComponent.super.add(comp); + } + + @Override + public Component add(Component comp, int index) { + return OACComponent.super.add(comp, index); + } + + @Override + public void add(@NotNull Component comp, Object constraints) { + OACComponent.super.add(comp, constraints); + } + + @Override + public Component add(String name, Component comp) { + return OACComponent.super.add(name, comp); + } + + @Override + public void add(Component comp, Object constraints, int index) { + OACComponent.super.add(comp, constraints, index); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACColorChooser.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACColorChooser.java new file mode 100644 index 0000000..0729043 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACColorChooser.java @@ -0,0 +1,37 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACColorChooser extends JColorChooser implements OACComponent { + @Override + public Component add(Component comp) { + return OACComponent.super.add(comp); + } + + @Override + public Component add(Component comp, int index) { + return OACComponent.super.add(comp, index); + } + + @Override + public void add(@NotNull Component comp, Object constraints) { + OACComponent.super.add(comp, constraints); + } + + @Override + public Component add(String name, Component comp) { + return OACComponent.super.add(name, comp); + } + + @Override + public void add(Component comp, Object constraints, int index) { + OACComponent.super.add(comp, constraints, index); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACComboBox.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACComboBox.java new file mode 100644 index 0000000..c40bb0b --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACComboBox.java @@ -0,0 +1,54 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; +import java.util.Vector; + +public class OACComboBox extends JComboBox implements OACComponent { + public OACComboBox(ComboBoxModel aModel) { + super(aModel); + } + + public OACComboBox(E[] items) { + super(items); + } + + public OACComboBox(Vector items) { + super(items); + } + + public OACComboBox() { + super(); + } + + @Override + public Component add(Component comp) { + return OACComponent.super.add(comp); + } + + @Override + public Component add(Component comp, int index) { + return OACComponent.super.add(comp, index); + } + + @Override + public void add(@NotNull Component comp, Object constraints) { + OACComponent.super.add(comp, constraints); + } + + @Override + public Component add(String name, Component comp) { + return OACComponent.super.add(name, comp); + } + + @Override + public void add(Component comp, Object constraints, int index) { + OACComponent.super.add(comp, constraints, index); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACComponent.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACComponent.java new file mode 100644 index 0000000..6e9084a --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACComponent.java @@ -0,0 +1,106 @@ +package org.openautonomousconnection.oacswing.component; + +import jdk.jshell.spi.ExecutionControl; +import org.jetbrains.annotations.Nullable; +import org.openautonomousconnection.oacswing.component.design.Design; +import org.openautonomousconnection.oacswing.component.design.DesignManager; + +import javax.swing.*; +import java.awt.*; +import java.util.Optional; +import java.util.OptionalInt; + +public interface OACComponent { + default void initDesign() { + DesignManager.apply(this); +// Design design = DesignManager.getGlobalDesign(); +// +// this.setBackground(design.getElements().get(this.getClass()).getColor()); + } + + void setBackground(Color color); + + default void initOther(Component comp) { + if(comp instanceof OACComponent component) + component.initDesign(); + } + + default @Nullable Component add(Optional name, Component comp, OptionalInt index, Optional constrains) throws ExecutionControl.NotImplementedException { + JComponent superclass = this.getSuperclass(); + + if(comp instanceof OACComponent component) + component.initDesign(); + + if(name.isPresent()) + return superclass.add(name.get(), comp); + else if(constrains.isPresent()) + if(index.isPresent()) { + superclass.add(comp, constrains.get(), index.getAsInt()); + return null; + } + else { + superclass.add(comp, constrains.get()); + return null; + } + + else if(index.isPresent()) + return superclass.add(comp, index.getAsInt()); + + else + return superclass.add(comp); + } + + default Component add(Component comp) { + try { + return this.add(Optional.empty(), comp, OptionalInt.empty(), Optional.empty()); + } catch (ExecutionControl.NotImplementedException e) { + throw new RuntimeException(e); + } + } + + default Component add(String name, Component comp) { + try { + return this.add(Optional.of(name), comp, OptionalInt.empty(), Optional.empty()); + } catch (ExecutionControl.NotImplementedException e) { + throw new RuntimeException(e); + } + } + + default Component add(Component comp, int index) { + try { + return this.add(Optional.empty(), comp, OptionalInt.of(index), Optional.empty()); + } catch (ExecutionControl.NotImplementedException e) { + throw new RuntimeException(e); + } + } + + default void add(Component comp, Object constraints, int index) { + try { + this.add(Optional.empty(), comp, OptionalInt.of(index), Optional.of(constraints)); + } catch (ExecutionControl.NotImplementedException e) { + throw new RuntimeException(e); + } + } + + default void add(Component comp, Object constraints) { + try { + this.add(Optional.empty(), comp, OptionalInt.empty(), Optional.of(constraints)); + } catch (ExecutionControl.NotImplementedException e) { + throw new RuntimeException(e); + } + } + + /** + * Needed to run JComponent / Component methods + * @return JComponent type superclass + * @throws ExecutionControl.NotImplementedException superclass is not of type JComponent + */ + default JComponent getSuperclass() throws ExecutionControl.NotImplementedException { + if(this instanceof JComponent superClass) + return superClass; + else + throw new ExecutionControl.NotImplementedException("Trying to implement OACComponent interface for non-JComponent class"); + + } + +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACFrame.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACFrame.java new file mode 100644 index 0000000..f56cfe3 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACFrame.java @@ -0,0 +1,105 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; +import org.openautonomousconnection.oacswing.component.design.DesignManager; + +import javax.swing.*; +import java.awt.*; +import java.awt.geom.RoundRectangle2D; + +public class OACFrame extends JFrame { + public OACFrame() { + super(); + + this.init(); + } + + private void initIfOACComponent(Component comp) { + if(comp instanceof OACComponent component) + component.initDesign(); + } + + @Override + protected OACRootPane createRootPane() { + OACRootPane rp = new OACRootPane(); + + rp.setOpaque(true); + return rp; + } + + @Override + public OACRootPane getRootPane() { + return (OACRootPane) this.rootPane; + } + + @Override + public Component add(Component comp) { + this.initIfOACComponent(comp); + + return super.add(comp); + } + + @Override + public Component add(Component comp, int index) { + this.initIfOACComponent(comp); + + return super.add(comp, index); + } + + @Override + public void add(@NotNull Component comp, Object constraints) { + this.initIfOACComponent(comp); + + super.add(comp, constraints); + } + + @Override + public Component add(String name, Component comp) { + this.initIfOACComponent(comp); + + return super.add(name, comp); + } + + @Override + public void add(Component comp, Object constraints, int index) { + this.initIfOACComponent(comp); + + super.add(comp, constraints, index); + } + + public OACFrame(GraphicsConfiguration gc) { + super(gc); + + this.init(); + } + + public OACFrame(String title) { + super(title); + + this.init(); + } + + public OACFrame(String title, GraphicsConfiguration gc) { + super(title, gc); + + this.init(); + } + + private void init() { + this.setUndecorated(true); + +// DesignManager.apply(this.getRootPane()); + DesignManager.apply(this); + this.setShape(new RoundRectangle2D.Double( + 0, 0, + this.getWidth(), + this.getHeight(), + 30, 30 + )); + + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACLabel.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACLabel.java new file mode 100644 index 0000000..556f83b --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACLabel.java @@ -0,0 +1,33 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import javax.swing.*; + +public class OACLabel extends JLabel implements OACComponent { + public OACLabel(String text, Icon icon, int horizontalAlignment) { + super(text, icon, horizontalAlignment); + } + + public OACLabel(String text, int horizontalAlignment) { + super(text, null, horizontalAlignment); + } + + public OACLabel(String text) { + super(text, null, LEADING); + } + + public OACLabel(Icon image, int horizontalAlignment) { + super(null, image, horizontalAlignment); + } + + public OACLabel(Icon image) { + super(null, image, CENTER); + } + + public OACLabel() { + super("", null, LEADING); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACLayeredPane.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACLayeredPane.java new file mode 100644 index 0000000..6c62596 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACLayeredPane.java @@ -0,0 +1,46 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACLayeredPane extends JLayeredPane implements OACComponent { + public OACLayeredPane() { + super(); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACList.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACList.java new file mode 100644 index 0000000..f8bcd1f --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACList.java @@ -0,0 +1,59 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; +import java.util.Vector; + +public class OACList extends JList implements OACComponent { + public OACList(ListModel dataModel) { + super(dataModel); + } + + public OACList(E[] listData) { + super(listData); + } + + public OACList(Vector listData) { + super(listData); + } + + public OACList() { + super(); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACMenu.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACMenu.java new file mode 100644 index 0000000..13c86fa --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACMenu.java @@ -0,0 +1,58 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACMenu extends JMenu implements OACComponent { + public OACMenu() { + super(); + } + + public OACMenu(String s) { + super(s); + } + + public OACMenu(Action a) { + super(a); + } + + public OACMenu(String s, boolean b) { + super(s, b); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACMenuBar.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACMenuBar.java new file mode 100644 index 0000000..eb82df9 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACMenuBar.java @@ -0,0 +1,46 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACMenuBar extends JMenuBar implements OACComponent { + public OACMenuBar() { + super(); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACMenuItem.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACMenuItem.java new file mode 100644 index 0000000..19ecd81 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACMenuItem.java @@ -0,0 +1,66 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACMenuItem extends JMenuItem implements OACComponent { + public OACMenuItem() { + super(); + } + + public OACMenuItem(Icon icon) { + super(icon); + } + + public OACMenuItem(String text) { + super(text); + } + + public OACMenuItem(Action a) { + super(a); + } + + public OACMenuItem(String text, Icon icon) { + super(text, icon); + } + + public OACMenuItem(String text, int mnemonic) { + super(text, mnemonic); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACOptionPane.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACOptionPane.java new file mode 100644 index 0000000..abfa499 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACOptionPane.java @@ -0,0 +1,70 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACOptionPane extends JOptionPane implements OACComponent { + public OACOptionPane() { + super(); + } + + public OACOptionPane(Object message) { + super(message); + } + + public OACOptionPane(Object message, int messageType) { + super(message, messageType); + } + + public OACOptionPane(Object message, int messageType, int optionType) { + super(message, messageType, optionType); + } + + public OACOptionPane(Object message, int messageType, int optionType, Icon icon) { + super(message, messageType, optionType, icon); + } + + public OACOptionPane(Object message, int messageType, int optionType, Icon icon, Object[] options) { + super(message, messageType, optionType, icon, options); + } + + public OACOptionPane(Object message, int messageType, int optionType, Icon icon, Object[] options, Object initialValue) { + super(message, messageType, optionType, icon, options, initialValue); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACPanel.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACPanel.java new file mode 100644 index 0000000..861b015 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACPanel.java @@ -0,0 +1,58 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACPanel extends JPanel implements OACComponent { + public OACPanel(LayoutManager layout, boolean isDoubleBuffered) { + super(layout, isDoubleBuffered); + } + + public OACPanel(LayoutManager layout) { + super(layout); + } + + public OACPanel(boolean isDoubleBuffered) { + super(isDoubleBuffered); + } + + public OACPanel() { + super(); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACPasswordField.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACPasswordField.java new file mode 100644 index 0000000..56ed836 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACPasswordField.java @@ -0,0 +1,63 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import javax.swing.text.Document; +import java.awt.*; + +public class OACPasswordField extends JPasswordField implements OACComponent { + public OACPasswordField() { + super(); + } + + public OACPasswordField(String text) { + super(text); + } + + public OACPasswordField(int columns) { + super(columns); + } + + public OACPasswordField(String text, int columns) { + super(text, columns); + } + + public OACPasswordField(Document doc, String txt, int columns) { + super(doc, txt, columns); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACPopupMenu.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACPopupMenu.java new file mode 100644 index 0000000..62ed59f --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACPopupMenu.java @@ -0,0 +1,50 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACPopupMenu extends JPopupMenu implements OACComponent { + public OACPopupMenu() { + super(); + } + + public OACPopupMenu(String label) { + super(label); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACProgressBar.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACProgressBar.java new file mode 100644 index 0000000..3b61948 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACProgressBar.java @@ -0,0 +1,62 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACProgressBar extends JProgressBar implements OACComponent { + public OACProgressBar() { + super(); + } + + public OACProgressBar(int orient) { + super(orient); + } + + public OACProgressBar(int min, int max) { + super(min, max); + } + + public OACProgressBar(int orient, int min, int max) { + super(orient, min, max); + } + + public OACProgressBar(BoundedRangeModel newModel) { + super(newModel); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACRadioButton.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACRadioButton.java new file mode 100644 index 0000000..e341f3f --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACRadioButton.java @@ -0,0 +1,74 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACRadioButton extends JRadioButton implements OACComponent { + public OACRadioButton() { + super(); + } + + public OACRadioButton(Icon icon) { + super(icon); + } + + public OACRadioButton(Action a) { + super(a); + } + + public OACRadioButton(Icon icon, boolean selected) { + super(icon, selected); + } + + public OACRadioButton(String text) { + super(text); + } + + public OACRadioButton(String text, boolean selected) { + super(text, selected); + } + + public OACRadioButton(String text, Icon icon) { + super(text, icon); + } + + public OACRadioButton(String text, Icon icon, boolean selected) { + super(text, icon, selected); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACRadioButtonMenuItem.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACRadioButtonMenuItem.java new file mode 100644 index 0000000..6a5f42c --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACRadioButtonMenuItem.java @@ -0,0 +1,74 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACRadioButtonMenuItem extends JRadioButtonMenuItem implements OACComponent { + public OACRadioButtonMenuItem() { + super(); + } + + public OACRadioButtonMenuItem(Icon icon) { + super(icon); + } + + public OACRadioButtonMenuItem(String text) { + super(text); + } + + public OACRadioButtonMenuItem(Action a) { + super(a); + } + + public OACRadioButtonMenuItem(String text, Icon icon) { + super(text, icon); + } + + public OACRadioButtonMenuItem(String text, boolean selected) { + super(text, selected); + } + + public OACRadioButtonMenuItem(Icon icon, boolean selected) { + super(icon, selected); + } + + public OACRadioButtonMenuItem(String text, Icon icon, boolean selected) { + super(text, icon, selected); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACRootPane.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACRootPane.java new file mode 100644 index 0000000..2683294 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACRootPane.java @@ -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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACScrollBar.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACScrollBar.java new file mode 100644 index 0000000..0e651cb --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACScrollBar.java @@ -0,0 +1,54 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACScrollBar extends JScrollBar implements OACComponent { + public OACScrollBar(int orientation, int value, int extent, int min, int max) { + super(orientation, value, extent, min, max); + } + + public OACScrollBar(int orientation) { + super(orientation); + } + + public OACScrollBar() { + super(); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACScrollPane.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACScrollPane.java new file mode 100644 index 0000000..a3a50a9 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACScrollPane.java @@ -0,0 +1,58 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACScrollPane extends JScrollPane implements OACComponent { + public OACScrollPane(Component view, int vsbPolicy, int hsbPolicy) { + super(view, vsbPolicy, hsbPolicy); + } + + public OACScrollPane(Component view) { + super(view); + } + + public OACScrollPane(int vsbPolicy, int hsbPolicy) { + super(vsbPolicy, hsbPolicy); + } + + public OACScrollPane() { + super(); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACSeparator.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACSeparator.java new file mode 100644 index 0000000..2a36d72 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACSeparator.java @@ -0,0 +1,50 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACSeparator extends JSeparator implements OACComponent { + public OACSeparator() { + super(); + } + + public OACSeparator(int orientation) { + super(orientation); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACSlider.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACSlider.java new file mode 100644 index 0000000..7b8a47f --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACSlider.java @@ -0,0 +1,66 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACSlider extends JSlider implements OACComponent { + public OACSlider() { + super(); + } + + public OACSlider(int orientation) { + super(orientation); + } + + public OACSlider(int min, int max) { + super(min, max); + } + + public OACSlider(int min, int max, int value) { + super(min, max, value); + } + + public OACSlider(int orientation, int min, int max, int value) { + super(orientation, min, max, value); + } + + public OACSlider(BoundedRangeModel brm) { + super(brm); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACSpinner.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACSpinner.java new file mode 100644 index 0000000..430f31e --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACSpinner.java @@ -0,0 +1,50 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACSpinner extends JSpinner implements OACComponent { + public OACSpinner(SpinnerModel model) { + super(model); + } + + public OACSpinner() { + super(); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACSplitPane.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACSplitPane.java new file mode 100644 index 0000000..e202a01 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACSplitPane.java @@ -0,0 +1,62 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACSplitPane extends JSplitPane implements OACComponent { + public OACSplitPane() { + super(); + } + + public OACSplitPane(int newOrientation) { + super(newOrientation); + } + + public OACSplitPane(int newOrientation, boolean newContinuousLayout) { + super(newOrientation, newContinuousLayout); + } + + public OACSplitPane(int newOrientation, Component newLeftComponent, Component newRightComponent) { + super(newOrientation, newLeftComponent, newRightComponent); + } + + public OACSplitPane(int newOrientation, boolean newContinuousLayout, Component newLeftComponent, Component newRightComponent) { + super(newOrientation, newContinuousLayout, newLeftComponent, newRightComponent); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACTabbedPane.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACTabbedPane.java new file mode 100644 index 0000000..89819c0 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACTabbedPane.java @@ -0,0 +1,54 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACTabbedPane extends JTabbedPane implements OACComponent { + public OACTabbedPane() { + super(); + } + + public OACTabbedPane(int tabPlacement) { + super(tabPlacement); + } + + public OACTabbedPane(int tabPlacement, int tabLayoutPolicy) { + super(tabPlacement, tabLayoutPolicy); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACTable.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACTable.java new file mode 100644 index 0000000..9c3a515 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACTable.java @@ -0,0 +1,73 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import javax.swing.table.TableColumnModel; +import javax.swing.table.TableModel; +import java.awt.*; +import java.util.Vector; + +public class OACTable extends JTable implements OACComponent { + public OACTable() { + super(); + } + + public OACTable(TableModel dm) { + super(dm); + } + + public OACTable(TableModel dm, TableColumnModel cm) { + super(dm, cm); + } + + public OACTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm) { + super(dm, cm, sm); + } + + public OACTable(int numRows, int numColumns) { + super(numRows, numColumns); + } + + public OACTable(Vector rowData, Vector columnNames) { + super(rowData, columnNames); + } + + public OACTable(@NotNull Object[][] rowData, @NotNull Object[] columnNames) { + super(rowData, columnNames); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACTextArea.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACTextArea.java new file mode 100644 index 0000000..44918c2 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACTextArea.java @@ -0,0 +1,67 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import javax.swing.text.Document; +import java.awt.*; + +public class OACTextArea extends JTextArea implements OACComponent { + public OACTextArea() { + super(); + } + + public OACTextArea(String text) { + super(text); + } + + public OACTextArea(int rows, int columns) { + super(rows, columns); + } + + public OACTextArea(String text, int rows, int columns) { + super(text, rows, columns); + } + + public OACTextArea(Document doc) { + super(doc); + } + + public OACTextArea(Document doc, String text, int rows, int columns) { + super(doc, text, rows, columns); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACTextField.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACTextField.java new file mode 100644 index 0000000..dedd5fb --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACTextField.java @@ -0,0 +1,63 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import javax.swing.text.Document; +import java.awt.*; + +public class OACTextField extends JTextField implements OACComponent { + public OACTextField() { + super(); + } + + public OACTextField(String text) { + super(text); + } + + public OACTextField(int columns) { + super(columns); + } + + public OACTextField(String text, int columns) { + super(text, columns); + } + + public OACTextField(Document doc, String text, int columns) { + super(doc, text, columns); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACTextPane.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACTextPane.java new file mode 100644 index 0000000..e0d154b --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACTextPane.java @@ -0,0 +1,50 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import javax.swing.text.StyledDocument; +import java.awt.*; + +public class OACTextPane extends JTextPane implements OACComponent { + public OACTextPane() { + } + + public OACTextPane(StyledDocument doc) { + super(doc); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACTitledComponent.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACTitledComponent.java new file mode 100644 index 0000000..2d7f992 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACTitledComponent.java @@ -0,0 +1,34 @@ +/* Author: Maple + * Jan. 22 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import lombok.Getter; +import lombok.Setter; + +import javax.swing.*; +import java.awt.*; + +public class OACTitledComponent extends OACPanel { + @Getter @Setter + private OACLabel title; + + @Getter @Setter + private C component; + + public OACTitledComponent(String title, C component, int alignment) { + this.setLayout(new BorderLayout()); + + this.title = new OACLabel(title, alignment); + + this.component = component; + + this.add(this.title, BorderLayout.NORTH); + this.add(this.component); + } + + public OACTitledComponent(String title, C component) { + this(title, component, SwingConstants.CENTER); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACToggleButton.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACToggleButton.java new file mode 100644 index 0000000..9a00c4f --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACToggleButton.java @@ -0,0 +1,74 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACToggleButton extends JToggleButton implements OACComponent { + public OACToggleButton() { + super(); + } + + public OACToggleButton(Icon icon) { + super(icon); + } + + public OACToggleButton(Icon icon, boolean selected) { + super(icon, selected); + } + + public OACToggleButton(String text) { + super(text); + } + + public OACToggleButton(String text, boolean selected) { + super(text, selected); + } + + public OACToggleButton(Action a) { + super(a); + } + + public OACToggleButton(String text, Icon icon) { + super(text, icon); + } + + public OACToggleButton(String text, Icon icon, boolean selected) { + super(text, icon, selected); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACToolBar.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACToolBar.java new file mode 100644 index 0000000..8721c46 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACToolBar.java @@ -0,0 +1,58 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACToolBar extends JToolBar implements OACComponent { + public OACToolBar() { + super(); + } + + public OACToolBar(int orientation) { + super(orientation); + } + + public OACToolBar(String name) { + super(name); + } + + public OACToolBar(String name, int orientation) { + super(name, orientation); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACToolTip.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACToolTip.java new file mode 100644 index 0000000..d1c38ff --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACToolTip.java @@ -0,0 +1,45 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACToolTip extends JToolTip implements OACComponent { + public OACToolTip() { + super(); + } + + @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); + }} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACTree.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACTree.java new file mode 100644 index 0000000..1479d10 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACTree.java @@ -0,0 +1,74 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import javax.swing.tree.TreeModel; +import javax.swing.tree.TreeNode; +import java.awt.*; +import java.util.Hashtable; +import java.util.Vector; + +public class OACTree extends JTree implements OACComponent { + public OACTree() { + super(); + } + + public OACTree(Object[] value) { + super(value); + } + + public OACTree(Vector value) { + super(value); + } + + public OACTree(Hashtable value) { + super(value); + } + + public OACTree(TreeNode root) { + super(root); + } + + public OACTree(TreeNode root, boolean asksAllowsChildren) { + super(root, asksAllowsChildren); + } + + public OACTree(TreeModel newModel) { + super(newModel); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACViewport.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACViewport.java new file mode 100644 index 0000000..2b93a84 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACViewport.java @@ -0,0 +1,45 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACViewport extends JViewport implements OACComponent { + public OACViewport() { + super(); + } + + @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); + }} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/OACWindow.java b/src/main/java/org/openautonomousconnection/oacswing/component/OACWindow.java new file mode 100644 index 0000000..e6dd74f --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/OACWindow.java @@ -0,0 +1,62 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component; + +import org.jetbrains.annotations.NotNull; + +import javax.swing.*; +import java.awt.*; + +public class OACWindow extends JWindow implements OACComponent { + public OACWindow() { + super(); + } + + public OACWindow(GraphicsConfiguration gc) { + super(gc); + } + + public OACWindow(Frame owner) { + super(owner); + } + + public OACWindow(Window owner) { + super(owner); + } + + public OACWindow(Window owner, GraphicsConfiguration gc) { + super(owner, gc); + } + + @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); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/design/Design.java b/src/main/java/org/openautonomousconnection/oacswing/component/design/Design.java new file mode 100644 index 0000000..55b548e --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/design/Design.java @@ -0,0 +1,52 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component.design; + +import lombok.Getter; + +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +public final class Design { + public static final Design LIGHT = new Design("light", new HashMap<>()); + + public static final Design DARK = new Design("dark", new HashMap<>()); + + public static final Design CONTRAST = new Design("contrast", new HashMap<>()); + + @Getter + private final String name; + + @Getter + private final Map, OACColor> elements; + + public Design(String name, Map, OACColor> elements) { + this.name = name; + this.elements = elements; + } + + @Override + public boolean equals(Object obj) { + if (obj == this) return true; + if (obj == null || obj.getClass() != this.getClass()) return false; + var that = (Design) obj; + return Objects.equals(this.name, that.name) && + Objects.equals(this.elements, that.elements); + } + + @Override + public int hashCode() { + return Objects.hash(name, elements); + } + + @Override + public String toString() { + return "Design[" + + "name=" + name + ", " + + "elements=" + elements + ']'; + } + +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/design/DesignManager.java b/src/main/java/org/openautonomousconnection/oacswing/component/design/DesignManager.java new file mode 100644 index 0000000..187b361 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/design/DesignManager.java @@ -0,0 +1,80 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component.design; + +import lombok.Getter; +import lombok.Setter; +import org.openautonomousconnection.oacswing.component.OACAnimatedPanel; +import org.openautonomousconnection.oacswing.component.OACButton; +import org.openautonomousconnection.oacswing.component.OACComponent; +import org.openautonomousconnection.oacswing.component.OACFrame; + +import java.util.List; +import java.util.Map; +import java.util.Objects; + +public class DesignManager { + @Getter @Setter + private static Design globalDesign; + + public static DesignManager getInstance() { + return Objects.requireNonNullElseGet(instance, DesignManager::new); + } + + private static DesignManager instance; + + private DesignManager() { + instance = this; + } + + @Getter + private List designs; + + public static void apply(OACComponent component) { + OACColor color; + + if(globalDesign != null && ((color = globalDesign.getElements().get(component.getClass())) != null)) + component.setBackground(color.getColor()); + } + + public static void apply(OACFrame frame) { + OACColor color; + + if(globalDesign != null && ((color = globalDesign.getElements().get(frame.getClass())) != null)) + frame.getContentPane().setBackground(color.getColor()); + + + } + + public void registerDesign(Design design) { + this.designs.add(design); + } + + public void registerComponent(Class componentClass, OACColor color) { + Style.Design eDesign = Style.Design.DARK; + + if(componentClass.isAnnotationPresent(Style.class)) + eDesign = componentClass.getAnnotation(Style.class).design(); + + Design design = switch (eDesign) { + case LIGHT -> Design.LIGHT; + case DARK -> Design.DARK; + case CONTRAST -> Design.CONTRAST; + }; + + design.getElements().putIfAbsent(componentClass, null); + + design.getElements().replace(componentClass, color); + } + + static { + Design.DARK.getElements().putAll(Map.of( + OACButton.class, OACColor.DARK_GREY, + OACAnimatedPanel.class, OACColor.LIGHT_GREY, + OACFrame.class, OACColor.GREY + + )); + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/design/OACColor.java b/src/main/java/org/openautonomousconnection/oacswing/component/design/OACColor.java new file mode 100644 index 0000000..eae3061 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/design/OACColor.java @@ -0,0 +1,47 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component.design; + +import lombok.Getter; + +import java.awt.*; + +public enum OACColor { + WEAK_RED(Color.getHSBColor(355, 0.5f, 0.7f)), + STRONG_RED(Color.getHSBColor(350, 0.7f, 0.6f)), + + WEAK_ORANGE(Color.getHSBColor(37, 0.6f, 0.8f)), + STRONG_ORANGE(Color.getHSBColor(30, 0.9f, 0.8f)), + + WEAK_YELLOW(Color.getHSBColor(56, 0.45f, 0.80f)), + STRONG_YELLOW(Color.getHSBColor(45, 0.65f, 0.85f)), + + WEAK_GREEN(Color.getHSBColor(125,0.35f,0.5f)), + STRONG_GREEN(Color.getHSBColor(110, 0.5f, 0.55f)), + + WEAK_AQUA(Color.getHSBColor(175, 0.35f, 0.75f)), + STRONG_AQUA(Color.getHSBColor(195, 0.62f, 0.65f)), + + WEAK_BLUE(Color.getHSBColor(225, 0.45f, 0.6f)), + STRONG_BLUE(Color.getHSBColor(215, 0.7f, 0.55f)), + + WEAK_MAGENTA(Color.getHSBColor(277,0.35f,0.65f)), + STRONG_MAGENTA(Color.getHSBColor(266, 0.45f, 0.66f)), + + DARK_GREY(Color.getHSBColor(0,0,0.25f)), + + GREY(Color.getHSBColor(0, 0f, 0.44f)), + + LIGHT_GREY(Color.getHSBColor(0, 0f, 0.60f)), + + VERY_LIGHT_GREY(Color.getHSBColor(0, 0, 0.9f)); + + @Getter + private final Color color; + + OACColor(Color color) { + this.color = color; + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/component/design/Style.java b/src/main/java/org/openautonomousconnection/oacswing/component/design/Style.java new file mode 100644 index 0000000..acba3b3 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/component/design/Style.java @@ -0,0 +1,22 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.component.design; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +public @interface Style { + enum Design { + LIGHT, + DARK, + CONTRAST + } + + Design design(); +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/icons/IconSize.java b/src/main/java/org/openautonomousconnection/oacswing/icons/IconSize.java new file mode 100644 index 0000000..6fc7c5c --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/icons/IconSize.java @@ -0,0 +1,30 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.icons; + +import lombok.Getter; + +/** + * Preset icon scales + */ +public enum IconSize { + SUPER_TINY(8), + TINY(16), + SMALLER(32), + SMALL(64), + LESS_MEDIUM(128), + MEDIUM(256), + MORE_MEDIUM(512), + LARGE(1024), + LARGER(2048), + HUGE(4096), + SUPER_HUGE(8192); + + @Getter + private final int scale; + IconSize(int scale) { + this.scale = scale; + } +} diff --git a/src/main/java/org/openautonomousconnection/oacswing/icons/temp/TempIcons.java b/src/main/java/org/openautonomousconnection/oacswing/icons/temp/TempIcons.java new file mode 100644 index 0000000..c1b91c7 --- /dev/null +++ b/src/main/java/org/openautonomousconnection/oacswing/icons/temp/TempIcons.java @@ -0,0 +1,22 @@ +/* Author: Maple + * Feb. 2 2026 + * */ + +package org.openautonomousconnection.oacswing.icons.temp; + +import org.openautonomousconnection.oacswing.ModifiableImageIcon; + +import javax.swing.*; + +/** + * Class containing testing / placeholder icons + */ +public class TempIcons { + public static final ModifiableImageIcon TEMP_HOLE_ICON; + + static { + ClassLoader classloader = Thread.currentThread().getContextClassLoader(); + + TEMP_HOLE_ICON = new ModifiableImageIcon(classloader.getResource("defaults/icons/temp_hole.png")); + } +} diff --git a/src/main/resources/defaults/icons/temp_hole.png b/src/main/resources/defaults/icons/temp_hole.png new file mode 100644 index 0000000000000000000000000000000000000000..472f247df84c77c741eb942ec7c6b90c4cf75ca7 GIT binary patch literal 201324 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

p7l^f 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 i@3JE@TgeWO>iIvHMXXN@`?3cB0000("Titled", imageLabel)); + + frame.setVisible(true); + + wait(5000); + } +} diff --git a/src/test/java/org/openautonomousconnection/oacswing/test/TestUtils.java b/src/test/java/org/openautonomousconnection/oacswing/test/TestUtils.java index 05c2d99..79ebd5f 100644 --- a/src/test/java/org/openautonomousconnection/oacswing/test/TestUtils.java +++ b/src/test/java/org/openautonomousconnection/oacswing/test/TestUtils.java @@ -1,5 +1,7 @@ package org.openautonomousconnection.oacswing.test; +import org.openautonomousconnection.oacswing.component.OACFrame; + import javax.swing.*; import java.awt.*; @@ -13,4 +15,14 @@ public class TestUtils { return frame; } + + public static OACFrame mockOacFrame() { + OACFrame frame = new OACFrame(); + + frame.setBounds(new Rectangle(800, 600)); + + frame.setLocationRelativeTo(null); + + return frame; + } }