First commit

This commit is contained in:
Melon 2022-05-07 15:42:48 +01:00
commit 631edaf94f
Signed by: melon
GPG Key ID: B0ADD5395BCDAAB6
21 changed files with 1106 additions and 0 deletions

8
.idea/.gitignore vendored Normal file
View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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>

View File

@ -0,0 +1,8 @@
package xyz.mrmelon54.swingpalette;
public class Main {
public static void main(String[] args) {
SwingPalette swingPalette = new SwingPalette();
swingPalette.run();
}
}

View 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()));
}
}

View 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);
}
}

View 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();
}
}

View 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;
}
}

View 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"
]

View 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"
]

Binary file not shown.

Binary file not shown.