First commit
This commit is contained in:
commit
631edaf94f
8
.idea/.gitignore
vendored
Normal file
8
.idea/.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
13
.idea/compiler.xml
Normal file
13
.idea/compiler.xml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CompilerConfiguration">
|
||||||
|
<annotationProcessing>
|
||||||
|
<profile name="Maven default annotation processors profile" enabled="true">
|
||||||
|
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||||
|
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||||
|
<outputRelativeToContentRoot value="true" />
|
||||||
|
<module name="swing-palette" />
|
||||||
|
</profile>
|
||||||
|
</annotationProcessing>
|
||||||
|
</component>
|
||||||
|
</project>
|
7
.idea/discord.xml
Normal file
7
.idea/discord.xml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DiscordProjectSettings">
|
||||||
|
<option name="show" value="PROJECT_FILES" />
|
||||||
|
<option name="description" value="" />
|
||||||
|
</component>
|
||||||
|
</project>
|
7
.idea/encodings.xml
Normal file
7
.idea/encodings.xml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Encoding">
|
||||||
|
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||||
|
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||||
|
</component>
|
||||||
|
</project>
|
20
.idea/jarRepositories.xml
Normal file
20
.idea/jarRepositories.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="RemoteRepositoriesConfiguration">
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="central" />
|
||||||
|
<option name="name" value="Central Repository" />
|
||||||
|
<option name="url" value="https://repo.maven.apache.org/maven2" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="central" />
|
||||||
|
<option name="name" value="Maven Central repository" />
|
||||||
|
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="jboss.community" />
|
||||||
|
<option name="name" value="JBoss Community repository" />
|
||||||
|
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||||
|
</remote-repository>
|
||||||
|
</component>
|
||||||
|
</project>
|
19
.idea/misc.xml
Normal file
19
.idea/misc.xml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
|
<component name="MavenProjectsManager">
|
||||||
|
<option name="originalFiles">
|
||||||
|
<list>
|
||||||
|
<option value="$PROJECT_DIR$/pom.xml" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK">
|
||||||
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
|
</component>
|
||||||
|
<component name="SwUserDefinedSpecifications">
|
||||||
|
<option name="specTypeByUrl">
|
||||||
|
<map />
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
124
.idea/uiDesigner.xml
Normal file
124
.idea/uiDesigner.xml
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Palette2">
|
||||||
|
<group name="Swing">
|
||||||
|
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="Button" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="RadioButton" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="CheckBox" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="Label" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||||
|
<preferred-size width="200" height="200" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||||
|
<preferred-size width="200" height="200" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||||
|
<preferred-size width="-1" height="20" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||||
|
</item>
|
||||||
|
</group>
|
||||||
|
</component>
|
||||||
|
</project>
|
67
pom.xml
Normal file
67
pom.xml
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>xyz.mrmelon54</groupId>
|
||||||
|
<artifactId>swing-palette</artifactId>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
<properties>
|
||||||
|
<java.version>17</java.version>
|
||||||
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
|
<timestamp>${maven.build.timestamp}</timestamp>
|
||||||
|
</properties>
|
||||||
|
<organization>
|
||||||
|
<name>MrMelon</name>
|
||||||
|
<url>https://mrmelon54.xyz</url>
|
||||||
|
</organization>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
|
<version>3.3.0</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>single</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<archive>
|
||||||
|
<manifest>
|
||||||
|
<mainClass>xyz.mrmelon54.swingpalette.Main</mainClass>
|
||||||
|
</manifest>
|
||||||
|
</archive>
|
||||||
|
<descriptorRefs>
|
||||||
|
<descriptorRef>jar-with-dependencies</descriptorRef>
|
||||||
|
</descriptorRefs>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</build>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.formdev</groupId>
|
||||||
|
<artifactId>flatlaf</artifactId>
|
||||||
|
<version>2.2</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.code.gson</groupId>
|
||||||
|
<artifactId>gson</artifactId>
|
||||||
|
<version>2.8.7</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</project>
|
8
src/main/java/xyz/mrmelon54/swingpalette/Main.java
Normal file
8
src/main/java/xyz/mrmelon54/swingpalette/Main.java
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
package xyz.mrmelon54.swingpalette;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
SwingPalette swingPalette = new SwingPalette();
|
||||||
|
swingPalette.run();
|
||||||
|
}
|
||||||
|
}
|
16
src/main/java/xyz/mrmelon54/swingpalette/PaletteItem.java
Normal file
16
src/main/java/xyz/mrmelon54/swingpalette/PaletteItem.java
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
package xyz.mrmelon54.swingpalette;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
|
public class PaletteItem extends JLabel {
|
||||||
|
public PaletteItem(String text) {
|
||||||
|
super(text);
|
||||||
|
setBorder(new EmptyBorder(16, 16, 16, 16));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setup() {
|
||||||
|
setOpaque(true);
|
||||||
|
setBackground(UIManager.getDefaults().getColor(getText()));
|
||||||
|
}
|
||||||
|
}
|
75
src/main/java/xyz/mrmelon54/swingpalette/SwingPalette.java
Normal file
75
src/main/java/xyz/mrmelon54/swingpalette/SwingPalette.java
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
package xyz.mrmelon54.swingpalette;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class SwingPalette extends JFrame {
|
||||||
|
private JPanel mainContent;
|
||||||
|
|
||||||
|
public SwingPalette() {
|
||||||
|
super("Swing Palette");
|
||||||
|
setup();
|
||||||
|
changeTheme(Theme.Metal);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void changeTheme(Theme theme) {
|
||||||
|
theme.triggerSetup();
|
||||||
|
SwingUtilities.updateComponentTreeUI(this);
|
||||||
|
for (int i = 0; i < mainContent.getComponentCount(); i++)
|
||||||
|
if (mainContent.getComponent(i) instanceof PaletteItem paletteItem) paletteItem.setup();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setup() {
|
||||||
|
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
setPreferredSize(new Dimension(1000, 600));
|
||||||
|
setMinimumSize(new Dimension(1000, 600));
|
||||||
|
setContentPane(createMainPanel());
|
||||||
|
}
|
||||||
|
|
||||||
|
private JPanel createMainPanel() {
|
||||||
|
JComboBox<Theme> themeComboBox = new JComboBox<>();
|
||||||
|
themeComboBox.setMaximumSize(new Dimension(100, themeComboBox.getPreferredSize().height));
|
||||||
|
for (Theme value : Theme.values()) themeComboBox.addItem(value);
|
||||||
|
themeComboBox.setSelectedItem(Theme.Metal);
|
||||||
|
themeComboBox.addItemListener(e -> changeTheme((Theme) Objects.requireNonNull(themeComboBox.getSelectedItem())));
|
||||||
|
|
||||||
|
JPanel optionPane = new JPanel();
|
||||||
|
optionPane.add(themeComboBox);
|
||||||
|
|
||||||
|
mainContent = new JPanel();
|
||||||
|
mainContent.setLayout(new WrapLayout());
|
||||||
|
fillMainPanel(mainContent);
|
||||||
|
|
||||||
|
JScrollPane scrollPane = new JScrollPane(mainContent, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
|
||||||
|
scrollPane.setBorder(null);
|
||||||
|
scrollPane.getVerticalScrollBar().setUnitIncrement(16);
|
||||||
|
|
||||||
|
JPanel mainPanel = new JPanel();
|
||||||
|
mainPanel.setLayout(new BorderLayout());
|
||||||
|
mainPanel.add(scrollPane, BorderLayout.CENTER);
|
||||||
|
mainPanel.add(optionPane, BorderLayout.NORTH);
|
||||||
|
return mainPanel;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fillMainPanel(JPanel mainPanel) {
|
||||||
|
try (InputStream resourceAsStream = getClass().getResourceAsStream("/palette-names.json")) {
|
||||||
|
if (resourceAsStream != null) {
|
||||||
|
for (String item : new Gson().fromJson(new InputStreamReader(resourceAsStream), String[].class)) {
|
||||||
|
mainPanel.add(new PaletteItem(item));
|
||||||
|
}
|
||||||
|
} else mainPanel.add(new JLabel("No palette keys available"));
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void run() {
|
||||||
|
setVisible(true);
|
||||||
|
}
|
||||||
|
}
|
50
src/main/java/xyz/mrmelon54/swingpalette/Theme.java
Normal file
50
src/main/java/xyz/mrmelon54/swingpalette/Theme.java
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
package xyz.mrmelon54.swingpalette;
|
||||||
|
|
||||||
|
import com.formdev.flatlaf.FlatDarkLaf;
|
||||||
|
import com.formdev.flatlaf.FlatLaf;
|
||||||
|
import com.formdev.flatlaf.FlatLightLaf;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.plaf.metal.DefaultMetalTheme;
|
||||||
|
import javax.swing.plaf.metal.MetalLookAndFeel;
|
||||||
|
import javax.swing.plaf.metal.OceanTheme;
|
||||||
|
import javax.swing.plaf.nimbus.NimbusLookAndFeel;
|
||||||
|
|
||||||
|
public enum Theme {
|
||||||
|
System(() -> setLookAndFeelIgnored(UIManager.getSystemLookAndFeelClassName())),
|
||||||
|
Light(FlatLightLaf::setup),
|
||||||
|
Dark(FlatDarkLaf::setup),
|
||||||
|
Metal(() -> {
|
||||||
|
MetalLookAndFeel.setCurrentTheme(new DefaultMetalTheme());
|
||||||
|
FlatLaf.setup(new MetalLookAndFeel());
|
||||||
|
}),
|
||||||
|
Ocean(() -> {
|
||||||
|
MetalLookAndFeel.setCurrentTheme(new OceanTheme());
|
||||||
|
FlatLaf.setup(new MetalLookAndFeel());
|
||||||
|
}),
|
||||||
|
Nimbus(() -> FlatLaf.setup(new NimbusLookAndFeel()));
|
||||||
|
|
||||||
|
private static void setLookAndFeelIgnored(String name) {
|
||||||
|
try {
|
||||||
|
UIManager.setLookAndFeel(name);
|
||||||
|
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException |
|
||||||
|
UnsupportedLookAndFeelException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private final SetupTheme setupTheme;
|
||||||
|
|
||||||
|
Theme(SetupTheme setupTheme) {
|
||||||
|
this.setupTheme = setupTheme;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void triggerSetup() {
|
||||||
|
setupTheme.setup();
|
||||||
|
}
|
||||||
|
|
||||||
|
private interface SetupTheme {
|
||||||
|
void setup();
|
||||||
|
}
|
||||||
|
}
|
180
src/main/java/xyz/mrmelon54/swingpalette/WrapLayout.java
Normal file
180
src/main/java/xyz/mrmelon54/swingpalette/WrapLayout.java
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
package xyz.mrmelon54.swingpalette;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FlowLayout subclass that fully supports wrapping of components.
|
||||||
|
*/
|
||||||
|
public class WrapLayout extends FlowLayout {
|
||||||
|
private Dimension preferredLayoutSize;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs a new <code>WrapLayout</code> with a left
|
||||||
|
* alignment and a default 5-unit horizontal and vertical gap.
|
||||||
|
*/
|
||||||
|
public WrapLayout() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs a new <code>FlowLayout</code> with the specified
|
||||||
|
* alignment and a default 5-unit horizontal and vertical gap.
|
||||||
|
* The value of the alignment argument must be one of
|
||||||
|
* <code>WrapLayout</code>, <code>WrapLayout</code>,
|
||||||
|
* or <code>WrapLayout</code>.
|
||||||
|
*
|
||||||
|
* @param align the alignment value
|
||||||
|
*/
|
||||||
|
public WrapLayout(int align) {
|
||||||
|
super(align);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new flow layout manager with the indicated alignment
|
||||||
|
* and the indicated horizontal and vertical gaps.
|
||||||
|
* <p>
|
||||||
|
* The value of the alignment argument must be one of
|
||||||
|
* <code>WrapLayout</code>, <code>WrapLayout</code>,
|
||||||
|
* or <code>WrapLayout</code>.
|
||||||
|
*
|
||||||
|
* @param align the alignment value
|
||||||
|
* @param hgap the horizontal gap between components
|
||||||
|
* @param vgap the vertical gap between components
|
||||||
|
*/
|
||||||
|
public WrapLayout(int align, int hgap, int vgap) {
|
||||||
|
super(align, hgap, vgap);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the preferred dimensions for this layout given the
|
||||||
|
* <i>visible</i> components in the specified target container.
|
||||||
|
*
|
||||||
|
* @param target the component which needs to be laid out
|
||||||
|
* @return the preferred dimensions to lay out the
|
||||||
|
* subcomponents of the specified container
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Dimension preferredLayoutSize(Container target) {
|
||||||
|
return layoutSize(target, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the minimum dimensions needed to layout the <i>visible</i>
|
||||||
|
* components contained in the specified target container.
|
||||||
|
*
|
||||||
|
* @param target the component which needs to be laid out
|
||||||
|
* @return the minimum dimensions to lay out the
|
||||||
|
* subcomponents of the specified container
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Dimension minimumLayoutSize(Container target) {
|
||||||
|
Dimension minimum = layoutSize(target, false);
|
||||||
|
minimum.width -= (getHgap() + 1);
|
||||||
|
return minimum;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the minimum or preferred dimension needed to layout the target
|
||||||
|
* container.
|
||||||
|
*
|
||||||
|
* @param target target to get layout size for
|
||||||
|
* @param preferred should preferred size be calculated
|
||||||
|
* @return the dimension to layout the target container
|
||||||
|
*/
|
||||||
|
private Dimension layoutSize(Container target, boolean preferred) {
|
||||||
|
synchronized (target.getTreeLock()) {
|
||||||
|
// Each row must fit with the width allocated to the containter.
|
||||||
|
// When the container width = 0, the preferred width of the container
|
||||||
|
// has not yet been calculated so lets ask for the maximum.
|
||||||
|
|
||||||
|
int targetWidth = target.getSize().width;
|
||||||
|
Container container = target;
|
||||||
|
|
||||||
|
while (container.getSize().width == 0 && container.getParent() != null) {
|
||||||
|
container = container.getParent();
|
||||||
|
}
|
||||||
|
|
||||||
|
targetWidth = container.getSize().width;
|
||||||
|
|
||||||
|
if (targetWidth == 0)
|
||||||
|
targetWidth = Integer.MAX_VALUE;
|
||||||
|
|
||||||
|
int hgap = getHgap();
|
||||||
|
int vgap = getVgap();
|
||||||
|
Insets insets = target.getInsets();
|
||||||
|
int horizontalInsetsAndGap = insets.left + insets.right + (hgap * 2);
|
||||||
|
int maxWidth = targetWidth - horizontalInsetsAndGap;
|
||||||
|
|
||||||
|
// Fit components into the allowed width
|
||||||
|
|
||||||
|
Dimension dim = new Dimension(0, 0);
|
||||||
|
int rowWidth = 0;
|
||||||
|
int rowHeight = 0;
|
||||||
|
|
||||||
|
int nmembers = target.getComponentCount();
|
||||||
|
|
||||||
|
for (int i = 0; i < nmembers; i++) {
|
||||||
|
Component m = target.getComponent(i);
|
||||||
|
|
||||||
|
if (m.isVisible()) {
|
||||||
|
Dimension d = preferred ? m.getPreferredSize() : m.getMinimumSize();
|
||||||
|
|
||||||
|
// Can't add the component to current row. Start a new row.
|
||||||
|
|
||||||
|
if (rowWidth + d.width > maxWidth) {
|
||||||
|
addRow(dim, rowWidth, rowHeight);
|
||||||
|
rowWidth = 0;
|
||||||
|
rowHeight = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add a horizontal gap for all components after the first
|
||||||
|
|
||||||
|
if (rowWidth != 0) {
|
||||||
|
rowWidth += hgap;
|
||||||
|
}
|
||||||
|
|
||||||
|
rowWidth += d.width;
|
||||||
|
rowHeight = Math.max(rowHeight, d.height);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
addRow(dim, rowWidth, rowHeight);
|
||||||
|
|
||||||
|
dim.width += horizontalInsetsAndGap;
|
||||||
|
dim.height += insets.top + insets.bottom + vgap * 2;
|
||||||
|
|
||||||
|
// When using a scroll pane or the DecoratedLookAndFeel we need to
|
||||||
|
// make sure the preferred size is less than the size of the
|
||||||
|
// target containter so shrinking the container size works
|
||||||
|
// correctly. Removing the horizontal gap is an easy way to do this.
|
||||||
|
|
||||||
|
Container scrollPane = SwingUtilities.getAncestorOfClass(JScrollPane.class, target);
|
||||||
|
|
||||||
|
if (scrollPane != null && target.isValid()) {
|
||||||
|
dim.width -= (hgap + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return dim;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A new row has been completed. Use the dimensions of this row
|
||||||
|
* to update the preferred size for the container.
|
||||||
|
*
|
||||||
|
* @param dim update the width and height when appropriate
|
||||||
|
* @param rowWidth the width of the row to add
|
||||||
|
* @param rowHeight the height of the row to add
|
||||||
|
*/
|
||||||
|
private void addRow(Dimension dim, int rowWidth, int rowHeight) {
|
||||||
|
dim.width = Math.max(dim.width, rowWidth);
|
||||||
|
|
||||||
|
if (dim.height > 0) {
|
||||||
|
dim.height += getVgap();
|
||||||
|
}
|
||||||
|
|
||||||
|
dim.height += rowHeight;
|
||||||
|
}
|
||||||
|
}
|
256
src/main/resources/palette-names.json
Normal file
256
src/main/resources/palette-names.json
Normal file
@ -0,0 +1,256 @@
|
|||||||
|
[
|
||||||
|
"Button.background",
|
||||||
|
"Button.darkShadow",
|
||||||
|
"Button.disabledText",
|
||||||
|
"Button.foreground",
|
||||||
|
"Button.highlight",
|
||||||
|
"Button.light",
|
||||||
|
"Button.select",
|
||||||
|
"Button.shadow",
|
||||||
|
"CheckBox.background",
|
||||||
|
"CheckBox.disabledText",
|
||||||
|
"CheckBox.foreground",
|
||||||
|
"CheckBox.select",
|
||||||
|
"CheckBoxMenuItem.acceleratorForeground",
|
||||||
|
"CheckBoxMenuItem.acceleratorSelectionForeground",
|
||||||
|
"CheckBoxMenuItem.background",
|
||||||
|
"CheckBoxMenuItem.disabledBackground",
|
||||||
|
"CheckBoxMenuItem.disabledForeground",
|
||||||
|
"CheckBoxMenuItem.foreground",
|
||||||
|
"CheckBoxMenuItem.selectionBackground",
|
||||||
|
"CheckBoxMenuItem.selectionForeground",
|
||||||
|
"ColorChooser.background",
|
||||||
|
"ColorChooser.foreground",
|
||||||
|
"ColorChooser.swatchesDefaultRecentColor",
|
||||||
|
"ComboBox.background",
|
||||||
|
"ComboBox.buttonBackground",
|
||||||
|
"ComboBox.buttonDarkShadow",
|
||||||
|
"ComboBox.buttonHighlight",
|
||||||
|
"ComboBox.buttonShadow",
|
||||||
|
"ComboBox.disabledBackground",
|
||||||
|
"ComboBox.disabledForeground",
|
||||||
|
"ComboBox.foreground",
|
||||||
|
"ComboBox.selectionBackground",
|
||||||
|
"ComboBox.selectionForeground",
|
||||||
|
"Desktop.background",
|
||||||
|
"EditorPane.background",
|
||||||
|
"EditorPane.caretForeground",
|
||||||
|
"EditorPane.foreground",
|
||||||
|
"EditorPane.inactiveBackground",
|
||||||
|
"EditorPane.inactiveForeground",
|
||||||
|
"EditorPane.selectionBackground",
|
||||||
|
"EditorPane.selectionForeground",
|
||||||
|
"Focus.color",
|
||||||
|
"FormattedTextField.background",
|
||||||
|
"FormattedTextField.caretForeground",
|
||||||
|
"FormattedTextField.foreground",
|
||||||
|
"FormattedTextField.inactiveBackground",
|
||||||
|
"FormattedTextField.inactiveForeground",
|
||||||
|
"FormattedTextField.selectionBackground",
|
||||||
|
"FormattedTextField.selectionForeground",
|
||||||
|
"InternalFrame.activeTitleBackground",
|
||||||
|
"InternalFrame.activeTitleForeground",
|
||||||
|
"InternalFrame.background",
|
||||||
|
"InternalFrame.borderColor",
|
||||||
|
"InternalFrame.borderDarkShadow",
|
||||||
|
"InternalFrame.borderHighlight",
|
||||||
|
"InternalFrame.borderLight",
|
||||||
|
"InternalFrame.borderShadow",
|
||||||
|
"InternalFrame.inactiveTitleBackground",
|
||||||
|
"InternalFrame.inactiveTitleForeground",
|
||||||
|
"InternalFrame.optionDialogBackground",
|
||||||
|
"InternalFrame.paletteBackground",
|
||||||
|
"Label.background",
|
||||||
|
"Label.disabledForeground",
|
||||||
|
"Label.disabledShadow",
|
||||||
|
"Label.foreground",
|
||||||
|
"List.background",
|
||||||
|
"List.foreground",
|
||||||
|
"List.selectionBackground",
|
||||||
|
"List.selectionForeground",
|
||||||
|
"Menu.acceleratorForeground",
|
||||||
|
"Menu.acceleratorSelectionForeground",
|
||||||
|
"Menu.background",
|
||||||
|
"Menu.disabledBackground",
|
||||||
|
"Menu.disabledForeground",
|
||||||
|
"Menu.foreground",
|
||||||
|
"Menu.selectionBackground",
|
||||||
|
"Menu.selectionForeground",
|
||||||
|
"MenuBar.background",
|
||||||
|
"MenuBar.disabledBackground",
|
||||||
|
"MenuBar.disabledForeground",
|
||||||
|
"MenuBar.foreground",
|
||||||
|
"MenuBar.highlight",
|
||||||
|
"MenuBar.selectionBackground",
|
||||||
|
"MenuBar.selectionForeground",
|
||||||
|
"MenuBar.shadow",
|
||||||
|
"MenuItem.acceleratorForeground",
|
||||||
|
"MenuItem.acceleratorSelectionForeground",
|
||||||
|
"MenuItem.background",
|
||||||
|
"MenuItem.disabledBackground",
|
||||||
|
"MenuItem.disabledForeground",
|
||||||
|
"MenuItem.foreground",
|
||||||
|
"MenuItem.selectionBackground",
|
||||||
|
"MenuItem.selectionForeground",
|
||||||
|
"OptionPane.background",
|
||||||
|
"OptionPane.foreground",
|
||||||
|
"OptionPane.messageForeground",
|
||||||
|
"Panel.background",
|
||||||
|
"Panel.foreground",
|
||||||
|
"PasswordField.background",
|
||||||
|
"PasswordField.caretForeground",
|
||||||
|
"PasswordField.foreground",
|
||||||
|
"PasswordField.inactiveBackground",
|
||||||
|
"PasswordField.inactiveForeground",
|
||||||
|
"PasswordField.selectionBackground",
|
||||||
|
"PasswordField.selectionForeground",
|
||||||
|
"PopupMenu.background",
|
||||||
|
"PopupMenu.foreground",
|
||||||
|
"PopupMenu.selectionBackground",
|
||||||
|
"PopupMenu.selectionForeground",
|
||||||
|
"ProgressBar.background",
|
||||||
|
"ProgressBar.foreground",
|
||||||
|
"ProgressBar.selectionBackground",
|
||||||
|
"ProgressBar.selectionForeground",
|
||||||
|
"RadioButton.background",
|
||||||
|
"RadioButton.darkShadow",
|
||||||
|
"RadioButton.disabledText",
|
||||||
|
"RadioButton.foreground",
|
||||||
|
"RadioButton.highlight",
|
||||||
|
"RadioButton.light",
|
||||||
|
"RadioButton.select",
|
||||||
|
"RadioButton.shadow",
|
||||||
|
"RadioButtonMenuItem.acceleratorForeground",
|
||||||
|
"RadioButtonMenuItem.acceleratorSelectionForeground",
|
||||||
|
"RadioButtonMenuItem.background",
|
||||||
|
"RadioButtonMenuItem.disabledBackground",
|
||||||
|
"RadioButtonMenuItem.disabledForeground",
|
||||||
|
"RadioButtonMenuItem.foreground",
|
||||||
|
"RadioButtonMenuItem.selectionBackground",
|
||||||
|
"RadioButtonMenuItem.selectionForeground",
|
||||||
|
"ScrollBar.background",
|
||||||
|
"ScrollBar.foreground",
|
||||||
|
"ScrollBar.thumb",
|
||||||
|
"ScrollBar.thumbDarkShadow",
|
||||||
|
"ScrollBar.thumbHighlight",
|
||||||
|
"ScrollBar.thumbShadow",
|
||||||
|
"ScrollBar.track",
|
||||||
|
"ScrollBar.trackHighlight",
|
||||||
|
"ScrollPane.background",
|
||||||
|
"ScrollPane.foreground",
|
||||||
|
"Separator.foreground",
|
||||||
|
"Separator.highlight",
|
||||||
|
"Separator.shadow",
|
||||||
|
"Slider.background",
|
||||||
|
"Slider.focus",
|
||||||
|
"Slider.foreground",
|
||||||
|
"Slider.highlight",
|
||||||
|
"Slider.shadow",
|
||||||
|
"Slider.tickColor",
|
||||||
|
"Spinner.background",
|
||||||
|
"Spinner.foreground",
|
||||||
|
"SplitPane.background",
|
||||||
|
"SplitPane.darkShadow",
|
||||||
|
"SplitPane.highlight",
|
||||||
|
"SplitPane.shadow",
|
||||||
|
"SplitPaneDivider.draggingColor",
|
||||||
|
"TabbedPane.background",
|
||||||
|
"TabbedPane.darkShadow",
|
||||||
|
"TabbedPane.focus",
|
||||||
|
"TabbedPane.foreground",
|
||||||
|
"TabbedPane.highlight",
|
||||||
|
"TabbedPane.light",
|
||||||
|
"TabbedPane.shadow",
|
||||||
|
"Table.background",
|
||||||
|
"Table.focusCellBackground",
|
||||||
|
"Table.focusCellForeground",
|
||||||
|
"Table.foreground",
|
||||||
|
"Table.gridColor",
|
||||||
|
"Table.selectionBackground",
|
||||||
|
"Table.selectionForeground",
|
||||||
|
"TableHeader.background",
|
||||||
|
"TableHeader.foreground",
|
||||||
|
"TextArea.background",
|
||||||
|
"TextArea.caretForeground",
|
||||||
|
"TextArea.foreground",
|
||||||
|
"TextArea.inactiveBackground",
|
||||||
|
"TextArea.inactiveForeground",
|
||||||
|
"TextArea.selectionBackground",
|
||||||
|
"TextArea.selectionForeground",
|
||||||
|
"TextComponent.selectionBackgroundInactive",
|
||||||
|
"TextField.background",
|
||||||
|
"TextField.caretForeground",
|
||||||
|
"TextField.darkShadow",
|
||||||
|
"TextField.foreground",
|
||||||
|
"TextField.highlight",
|
||||||
|
"TextField.inactiveBackground",
|
||||||
|
"TextField.inactiveForeground",
|
||||||
|
"TextField.light",
|
||||||
|
"TextField.selectionBackground",
|
||||||
|
"TextField.selectionForeground",
|
||||||
|
"TextField.shadow",
|
||||||
|
"TextPane.background",
|
||||||
|
"TextPane.caretForeground",
|
||||||
|
"TextPane.foreground",
|
||||||
|
"TextPane.inactiveBackground",
|
||||||
|
"TextPane.inactiveForeground",
|
||||||
|
"TextPane.selectionBackground",
|
||||||
|
"TextPane.selectionForeground",
|
||||||
|
"TitledBorder.titleColor",
|
||||||
|
"ToggleButton.background",
|
||||||
|
"ToggleButton.darkShadow",
|
||||||
|
"ToggleButton.disabledText",
|
||||||
|
"ToggleButton.foreground",
|
||||||
|
"ToggleButton.highlight",
|
||||||
|
"ToggleButton.light",
|
||||||
|
"ToggleButton.shadow",
|
||||||
|
"ToolBar.background",
|
||||||
|
"ToolBar.darkShadow",
|
||||||
|
"ToolBar.dockingBackground",
|
||||||
|
"ToolBar.dockingForeground",
|
||||||
|
"ToolBar.floatingBackground",
|
||||||
|
"ToolBar.floatingForeground",
|
||||||
|
"ToolBar.foreground",
|
||||||
|
"ToolBar.highlight",
|
||||||
|
"ToolBar.light",
|
||||||
|
"ToolBar.shadow",
|
||||||
|
"ToolTip.background",
|
||||||
|
"ToolTip.foreground",
|
||||||
|
"Tree.background",
|
||||||
|
"Tree.foreground",
|
||||||
|
"Tree.hash",
|
||||||
|
"Tree.line",
|
||||||
|
"Tree.selectionBackground",
|
||||||
|
"Tree.selectionBorderColor",
|
||||||
|
"Tree.selectionForeground",
|
||||||
|
"Tree.textBackground",
|
||||||
|
"Tree.textForeground",
|
||||||
|
"Viewport.background",
|
||||||
|
"Viewport.foreground",
|
||||||
|
"activeCaption",
|
||||||
|
"activeCaptionBorder",
|
||||||
|
"activeCaptionText",
|
||||||
|
"control",
|
||||||
|
"controlDkShadow",
|
||||||
|
"controlHighlight",
|
||||||
|
"controlLtHighlight",
|
||||||
|
"controlShadow",
|
||||||
|
"controlText",
|
||||||
|
"desktop",
|
||||||
|
"inactiveCaption",
|
||||||
|
"inactiveCaptionBorder",
|
||||||
|
"inactiveCaptionText",
|
||||||
|
"info",
|
||||||
|
"infoText",
|
||||||
|
"menu",
|
||||||
|
"menuText",
|
||||||
|
"scrollbar",
|
||||||
|
"text",
|
||||||
|
"textHighlight",
|
||||||
|
"textHighlightText",
|
||||||
|
"textInactiveText",
|
||||||
|
"textText",
|
||||||
|
"window",
|
||||||
|
"windowBorder",
|
||||||
|
"windowText"
|
||||||
|
]
|
256
target/classes/palette-names.json
Normal file
256
target/classes/palette-names.json
Normal file
@ -0,0 +1,256 @@
|
|||||||
|
[
|
||||||
|
"Button.background",
|
||||||
|
"Button.darkShadow",
|
||||||
|
"Button.disabledText",
|
||||||
|
"Button.foreground",
|
||||||
|
"Button.highlight",
|
||||||
|
"Button.light",
|
||||||
|
"Button.select",
|
||||||
|
"Button.shadow",
|
||||||
|
"CheckBox.background",
|
||||||
|
"CheckBox.disabledText",
|
||||||
|
"CheckBox.foreground",
|
||||||
|
"CheckBox.select",
|
||||||
|
"CheckBoxMenuItem.acceleratorForeground",
|
||||||
|
"CheckBoxMenuItem.acceleratorSelectionForeground",
|
||||||
|
"CheckBoxMenuItem.background",
|
||||||
|
"CheckBoxMenuItem.disabledBackground",
|
||||||
|
"CheckBoxMenuItem.disabledForeground",
|
||||||
|
"CheckBoxMenuItem.foreground",
|
||||||
|
"CheckBoxMenuItem.selectionBackground",
|
||||||
|
"CheckBoxMenuItem.selectionForeground",
|
||||||
|
"ColorChooser.background",
|
||||||
|
"ColorChooser.foreground",
|
||||||
|
"ColorChooser.swatchesDefaultRecentColor",
|
||||||
|
"ComboBox.background",
|
||||||
|
"ComboBox.buttonBackground",
|
||||||
|
"ComboBox.buttonDarkShadow",
|
||||||
|
"ComboBox.buttonHighlight",
|
||||||
|
"ComboBox.buttonShadow",
|
||||||
|
"ComboBox.disabledBackground",
|
||||||
|
"ComboBox.disabledForeground",
|
||||||
|
"ComboBox.foreground",
|
||||||
|
"ComboBox.selectionBackground",
|
||||||
|
"ComboBox.selectionForeground",
|
||||||
|
"Desktop.background",
|
||||||
|
"EditorPane.background",
|
||||||
|
"EditorPane.caretForeground",
|
||||||
|
"EditorPane.foreground",
|
||||||
|
"EditorPane.inactiveBackground",
|
||||||
|
"EditorPane.inactiveForeground",
|
||||||
|
"EditorPane.selectionBackground",
|
||||||
|
"EditorPane.selectionForeground",
|
||||||
|
"Focus.color",
|
||||||
|
"FormattedTextField.background",
|
||||||
|
"FormattedTextField.caretForeground",
|
||||||
|
"FormattedTextField.foreground",
|
||||||
|
"FormattedTextField.inactiveBackground",
|
||||||
|
"FormattedTextField.inactiveForeground",
|
||||||
|
"FormattedTextField.selectionBackground",
|
||||||
|
"FormattedTextField.selectionForeground",
|
||||||
|
"InternalFrame.activeTitleBackground",
|
||||||
|
"InternalFrame.activeTitleForeground",
|
||||||
|
"InternalFrame.background",
|
||||||
|
"InternalFrame.borderColor",
|
||||||
|
"InternalFrame.borderDarkShadow",
|
||||||
|
"InternalFrame.borderHighlight",
|
||||||
|
"InternalFrame.borderLight",
|
||||||
|
"InternalFrame.borderShadow",
|
||||||
|
"InternalFrame.inactiveTitleBackground",
|
||||||
|
"InternalFrame.inactiveTitleForeground",
|
||||||
|
"InternalFrame.optionDialogBackground",
|
||||||
|
"InternalFrame.paletteBackground",
|
||||||
|
"Label.background",
|
||||||
|
"Label.disabledForeground",
|
||||||
|
"Label.disabledShadow",
|
||||||
|
"Label.foreground",
|
||||||
|
"List.background",
|
||||||
|
"List.foreground",
|
||||||
|
"List.selectionBackground",
|
||||||
|
"List.selectionForeground",
|
||||||
|
"Menu.acceleratorForeground",
|
||||||
|
"Menu.acceleratorSelectionForeground",
|
||||||
|
"Menu.background",
|
||||||
|
"Menu.disabledBackground",
|
||||||
|
"Menu.disabledForeground",
|
||||||
|
"Menu.foreground",
|
||||||
|
"Menu.selectionBackground",
|
||||||
|
"Menu.selectionForeground",
|
||||||
|
"MenuBar.background",
|
||||||
|
"MenuBar.disabledBackground",
|
||||||
|
"MenuBar.disabledForeground",
|
||||||
|
"MenuBar.foreground",
|
||||||
|
"MenuBar.highlight",
|
||||||
|
"MenuBar.selectionBackground",
|
||||||
|
"MenuBar.selectionForeground",
|
||||||
|
"MenuBar.shadow",
|
||||||
|
"MenuItem.acceleratorForeground",
|
||||||
|
"MenuItem.acceleratorSelectionForeground",
|
||||||
|
"MenuItem.background",
|
||||||
|
"MenuItem.disabledBackground",
|
||||||
|
"MenuItem.disabledForeground",
|
||||||
|
"MenuItem.foreground",
|
||||||
|
"MenuItem.selectionBackground",
|
||||||
|
"MenuItem.selectionForeground",
|
||||||
|
"OptionPane.background",
|
||||||
|
"OptionPane.foreground",
|
||||||
|
"OptionPane.messageForeground",
|
||||||
|
"Panel.background",
|
||||||
|
"Panel.foreground",
|
||||||
|
"PasswordField.background",
|
||||||
|
"PasswordField.caretForeground",
|
||||||
|
"PasswordField.foreground",
|
||||||
|
"PasswordField.inactiveBackground",
|
||||||
|
"PasswordField.inactiveForeground",
|
||||||
|
"PasswordField.selectionBackground",
|
||||||
|
"PasswordField.selectionForeground",
|
||||||
|
"PopupMenu.background",
|
||||||
|
"PopupMenu.foreground",
|
||||||
|
"PopupMenu.selectionBackground",
|
||||||
|
"PopupMenu.selectionForeground",
|
||||||
|
"ProgressBar.background",
|
||||||
|
"ProgressBar.foreground",
|
||||||
|
"ProgressBar.selectionBackground",
|
||||||
|
"ProgressBar.selectionForeground",
|
||||||
|
"RadioButton.background",
|
||||||
|
"RadioButton.darkShadow",
|
||||||
|
"RadioButton.disabledText",
|
||||||
|
"RadioButton.foreground",
|
||||||
|
"RadioButton.highlight",
|
||||||
|
"RadioButton.light",
|
||||||
|
"RadioButton.select",
|
||||||
|
"RadioButton.shadow",
|
||||||
|
"RadioButtonMenuItem.acceleratorForeground",
|
||||||
|
"RadioButtonMenuItem.acceleratorSelectionForeground",
|
||||||
|
"RadioButtonMenuItem.background",
|
||||||
|
"RadioButtonMenuItem.disabledBackground",
|
||||||
|
"RadioButtonMenuItem.disabledForeground",
|
||||||
|
"RadioButtonMenuItem.foreground",
|
||||||
|
"RadioButtonMenuItem.selectionBackground",
|
||||||
|
"RadioButtonMenuItem.selectionForeground",
|
||||||
|
"ScrollBar.background",
|
||||||
|
"ScrollBar.foreground",
|
||||||
|
"ScrollBar.thumb",
|
||||||
|
"ScrollBar.thumbDarkShadow",
|
||||||
|
"ScrollBar.thumbHighlight",
|
||||||
|
"ScrollBar.thumbShadow",
|
||||||
|
"ScrollBar.track",
|
||||||
|
"ScrollBar.trackHighlight",
|
||||||
|
"ScrollPane.background",
|
||||||
|
"ScrollPane.foreground",
|
||||||
|
"Separator.foreground",
|
||||||
|
"Separator.highlight",
|
||||||
|
"Separator.shadow",
|
||||||
|
"Slider.background",
|
||||||
|
"Slider.focus",
|
||||||
|
"Slider.foreground",
|
||||||
|
"Slider.highlight",
|
||||||
|
"Slider.shadow",
|
||||||
|
"Slider.tickColor",
|
||||||
|
"Spinner.background",
|
||||||
|
"Spinner.foreground",
|
||||||
|
"SplitPane.background",
|
||||||
|
"SplitPane.darkShadow",
|
||||||
|
"SplitPane.highlight",
|
||||||
|
"SplitPane.shadow",
|
||||||
|
"SplitPaneDivider.draggingColor",
|
||||||
|
"TabbedPane.background",
|
||||||
|
"TabbedPane.darkShadow",
|
||||||
|
"TabbedPane.focus",
|
||||||
|
"TabbedPane.foreground",
|
||||||
|
"TabbedPane.highlight",
|
||||||
|
"TabbedPane.light",
|
||||||
|
"TabbedPane.shadow",
|
||||||
|
"Table.background",
|
||||||
|
"Table.focusCellBackground",
|
||||||
|
"Table.focusCellForeground",
|
||||||
|
"Table.foreground",
|
||||||
|
"Table.gridColor",
|
||||||
|
"Table.selectionBackground",
|
||||||
|
"Table.selectionForeground",
|
||||||
|
"TableHeader.background",
|
||||||
|
"TableHeader.foreground",
|
||||||
|
"TextArea.background",
|
||||||
|
"TextArea.caretForeground",
|
||||||
|
"TextArea.foreground",
|
||||||
|
"TextArea.inactiveBackground",
|
||||||
|
"TextArea.inactiveForeground",
|
||||||
|
"TextArea.selectionBackground",
|
||||||
|
"TextArea.selectionForeground",
|
||||||
|
"TextComponent.selectionBackgroundInactive",
|
||||||
|
"TextField.background",
|
||||||
|
"TextField.caretForeground",
|
||||||
|
"TextField.darkShadow",
|
||||||
|
"TextField.foreground",
|
||||||
|
"TextField.highlight",
|
||||||
|
"TextField.inactiveBackground",
|
||||||
|
"TextField.inactiveForeground",
|
||||||
|
"TextField.light",
|
||||||
|
"TextField.selectionBackground",
|
||||||
|
"TextField.selectionForeground",
|
||||||
|
"TextField.shadow",
|
||||||
|
"TextPane.background",
|
||||||
|
"TextPane.caretForeground",
|
||||||
|
"TextPane.foreground",
|
||||||
|
"TextPane.inactiveBackground",
|
||||||
|
"TextPane.inactiveForeground",
|
||||||
|
"TextPane.selectionBackground",
|
||||||
|
"TextPane.selectionForeground",
|
||||||
|
"TitledBorder.titleColor",
|
||||||
|
"ToggleButton.background",
|
||||||
|
"ToggleButton.darkShadow",
|
||||||
|
"ToggleButton.disabledText",
|
||||||
|
"ToggleButton.foreground",
|
||||||
|
"ToggleButton.highlight",
|
||||||
|
"ToggleButton.light",
|
||||||
|
"ToggleButton.shadow",
|
||||||
|
"ToolBar.background",
|
||||||
|
"ToolBar.darkShadow",
|
||||||
|
"ToolBar.dockingBackground",
|
||||||
|
"ToolBar.dockingForeground",
|
||||||
|
"ToolBar.floatingBackground",
|
||||||
|
"ToolBar.floatingForeground",
|
||||||
|
"ToolBar.foreground",
|
||||||
|
"ToolBar.highlight",
|
||||||
|
"ToolBar.light",
|
||||||
|
"ToolBar.shadow",
|
||||||
|
"ToolTip.background",
|
||||||
|
"ToolTip.foreground",
|
||||||
|
"Tree.background",
|
||||||
|
"Tree.foreground",
|
||||||
|
"Tree.hash",
|
||||||
|
"Tree.line",
|
||||||
|
"Tree.selectionBackground",
|
||||||
|
"Tree.selectionBorderColor",
|
||||||
|
"Tree.selectionForeground",
|
||||||
|
"Tree.textBackground",
|
||||||
|
"Tree.textForeground",
|
||||||
|
"Viewport.background",
|
||||||
|
"Viewport.foreground",
|
||||||
|
"activeCaption",
|
||||||
|
"activeCaptionBorder",
|
||||||
|
"activeCaptionText",
|
||||||
|
"control",
|
||||||
|
"controlDkShadow",
|
||||||
|
"controlHighlight",
|
||||||
|
"controlLtHighlight",
|
||||||
|
"controlShadow",
|
||||||
|
"controlText",
|
||||||
|
"desktop",
|
||||||
|
"inactiveCaption",
|
||||||
|
"inactiveCaptionBorder",
|
||||||
|
"inactiveCaptionText",
|
||||||
|
"info",
|
||||||
|
"infoText",
|
||||||
|
"menu",
|
||||||
|
"menuText",
|
||||||
|
"scrollbar",
|
||||||
|
"text",
|
||||||
|
"textHighlight",
|
||||||
|
"textHighlightText",
|
||||||
|
"textInactiveText",
|
||||||
|
"textText",
|
||||||
|
"window",
|
||||||
|
"windowBorder",
|
||||||
|
"windowText"
|
||||||
|
]
|
BIN
target/classes/xyz/mrmelon54/swingpalette/Main.class
Normal file
BIN
target/classes/xyz/mrmelon54/swingpalette/Main.class
Normal file
Binary file not shown.
BIN
target/classes/xyz/mrmelon54/swingpalette/PaletteItem.class
Normal file
BIN
target/classes/xyz/mrmelon54/swingpalette/PaletteItem.class
Normal file
Binary file not shown.
BIN
target/classes/xyz/mrmelon54/swingpalette/SwingPalette.class
Normal file
BIN
target/classes/xyz/mrmelon54/swingpalette/SwingPalette.class
Normal file
Binary file not shown.
BIN
target/classes/xyz/mrmelon54/swingpalette/Theme$SetupTheme.class
Normal file
BIN
target/classes/xyz/mrmelon54/swingpalette/Theme$SetupTheme.class
Normal file
Binary file not shown.
BIN
target/classes/xyz/mrmelon54/swingpalette/Theme.class
Normal file
BIN
target/classes/xyz/mrmelon54/swingpalette/Theme.class
Normal file
Binary file not shown.
BIN
target/classes/xyz/mrmelon54/swingpalette/WrapLayout.class
Normal file
BIN
target/classes/xyz/mrmelon54/swingpalette/WrapLayout.class
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user