mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2026-02-13 07:17:13 -06:00
flatlaf-natives-windows: support DWM attributes DWMWA_USE_IMMERSIVE_DARK_MODE, DWMWA_CAPTION_COLOR and DWMWA_TEXT_COLOR (all unused in FlatLaf core)
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.formdev.flatlaf.ui;
|
package com.formdev.flatlaf.ui;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
import java.awt.Window;
|
import java.awt.Window;
|
||||||
import com.formdev.flatlaf.util.SystemInfo;
|
import com.formdev.flatlaf.util.SystemInfo;
|
||||||
|
|
||||||
@@ -31,6 +32,12 @@ public class FlatNativeWindowsLibrary
|
|||||||
{
|
{
|
||||||
private static long osBuildNumber = Long.MIN_VALUE;
|
private static long osBuildNumber = Long.MIN_VALUE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks whether native library is loaded/available.
|
||||||
|
* <p>
|
||||||
|
* <b>Note</b>: It is required to invoke this method before invoking any other
|
||||||
|
* method of this class. Otherwise, the native library may not be loaded.
|
||||||
|
*/
|
||||||
public static boolean isLoaded() {
|
public static boolean isLoaded() {
|
||||||
return SystemInfo.isWindows && FlatNativeLibrary.isLoaded();
|
return SystemInfo.isWindows && FlatNativeLibrary.isLoaded();
|
||||||
}
|
}
|
||||||
@@ -93,15 +100,60 @@ public class FlatNativeWindowsLibrary
|
|||||||
public native static boolean setWindowCornerPreference( long hwnd, int cornerPreference );
|
public native static boolean setWindowCornerPreference( long hwnd, int cornerPreference );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the color of the window border.
|
* DWMWINDOWATTRIBUTE
|
||||||
* The red/green/blue values must be in range {@code 0 - 255}.
|
* see https://learn.microsoft.com/en-us/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute
|
||||||
* If red is {@code -1}, then the system default border color is used (useful to reset the border color).
|
*
|
||||||
* If red is {@code -2}, then no border is painted.
|
* @since 3.3
|
||||||
* <p>
|
*/
|
||||||
* Invokes Win32 API method {@code DwmSetWindowAttribute(DWMWA_BORDER_COLOR)}.
|
public static final int
|
||||||
|
DWMWA_USE_IMMERSIVE_DARK_MODE = 20,
|
||||||
|
DWMWA_BORDER_COLOR = 34,
|
||||||
|
DWMWA_CAPTION_COLOR = 35,
|
||||||
|
DWMWA_TEXT_COLOR = 36;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Invokes Win32 API method {@code DwmSetWindowAttribute()} with a {@code BOOL} attribute value.
|
||||||
|
* See https://learn.microsoft.com/en-us/windows/win32/api/dwmapi/nf-dwmapi-dwmsetwindowattribute
|
||||||
|
*
|
||||||
|
* @since 3.3
|
||||||
|
*/
|
||||||
|
public native static boolean dwmSetWindowAttributeBOOL( long hwnd, int attribute, boolean value );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Invokes Win32 API method {@code DwmSetWindowAttribute()} with a {@code DWORD} attribute value.
|
||||||
|
* See https://learn.microsoft.com/en-us/windows/win32/api/dwmapi/nf-dwmapi-dwmsetwindowattribute
|
||||||
|
*
|
||||||
|
* @since 3.3
|
||||||
|
*/
|
||||||
|
public native static boolean dwmSetWindowAttributeDWORD( long hwnd, int attribute, int value );
|
||||||
|
|
||||||
|
/** @since 3.3 */
|
||||||
|
public static final int
|
||||||
|
// use this constant to reset any window part colors to the system default behavior
|
||||||
|
DWMWA_COLOR_DEFAULT = 0xFFFFFFFF,
|
||||||
|
// use this constant to specify that a window part should not be rendered
|
||||||
|
DWMWA_COLOR_NONE = 0xFFFFFFFE;
|
||||||
|
|
||||||
|
/** @since 3.3 */
|
||||||
|
public static final Color COLOR_NONE = new Color( 0, true );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Invokes Win32 API method {@code DwmSetWindowAttribute()} with a {@code COLORREF} attribute value.
|
||||||
* See https://learn.microsoft.com/en-us/windows/win32/api/dwmapi/nf-dwmapi-dwmsetwindowattribute
|
* See https://learn.microsoft.com/en-us/windows/win32/api/dwmapi/nf-dwmapi-dwmsetwindowattribute
|
||||||
* <p>
|
* <p>
|
||||||
* Supported since Windows 11 Build 22000.
|
* Supported since Windows 11 Build 22000.
|
||||||
|
*
|
||||||
|
* @since 3.3
|
||||||
*/
|
*/
|
||||||
public native static boolean setWindowBorderColor( long hwnd, int red, int green, int blue );
|
public static boolean dwmSetWindowAttributeCOLORREF( long hwnd, int attribute, Color color ) {
|
||||||
|
// convert color to Windows RGB value
|
||||||
|
int rgb = (color == COLOR_NONE)
|
||||||
|
? DWMWA_COLOR_NONE
|
||||||
|
: (color != null
|
||||||
|
? (color.getRed() | (color.getGreen() << 8) | (color.getBlue() << 16))
|
||||||
|
: DWMWA_COLOR_DEFAULT);
|
||||||
|
|
||||||
|
// DwmSetWindowAttribute() expects COLORREF as attribute value, which is defined as DWORD
|
||||||
|
return dwmSetWindowAttributeDWORD( hwnd, attribute, rgb );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -361,29 +361,20 @@ public class FlatPopupFactory
|
|||||||
FlatNativeWindowsLibrary.setWindowCornerPreference( hwnd, cornerPreference );
|
FlatNativeWindowsLibrary.setWindowCornerPreference( hwnd, cornerPreference );
|
||||||
|
|
||||||
// set border color
|
// set border color
|
||||||
int red = -1; // use system default color
|
Color borderColor = null; // use system default color
|
||||||
int green = 0;
|
|
||||||
int blue = 0;
|
|
||||||
if( contents instanceof JComponent ) {
|
if( contents instanceof JComponent ) {
|
||||||
Border border = ((JComponent)contents).getBorder();
|
Border border = ((JComponent)contents).getBorder();
|
||||||
border = FlatUIUtils.unwrapNonUIResourceBorder( border );
|
border = FlatUIUtils.unwrapNonUIResourceBorder( border );
|
||||||
|
|
||||||
// get color from border of contents (e.g. JPopupMenu or JToolTip)
|
// get color from border of contents (e.g. JPopupMenu or JToolTip)
|
||||||
Color borderColor = null;
|
|
||||||
if( border instanceof FlatLineBorder )
|
if( border instanceof FlatLineBorder )
|
||||||
borderColor = ((FlatLineBorder)border).getLineColor();
|
borderColor = ((FlatLineBorder)border).getLineColor();
|
||||||
else if( border instanceof LineBorder )
|
else if( border instanceof LineBorder )
|
||||||
borderColor = ((LineBorder)border).getLineColor();
|
borderColor = ((LineBorder)border).getLineColor();
|
||||||
else if( border instanceof EmptyBorder )
|
else if( border instanceof EmptyBorder )
|
||||||
red = -2; // do not paint border
|
borderColor = FlatNativeWindowsLibrary.COLOR_NONE; // do not paint border
|
||||||
|
|
||||||
if( borderColor != null ) {
|
|
||||||
red = borderColor.getRed();
|
|
||||||
green = borderColor.getGreen();
|
|
||||||
blue = borderColor.getBlue();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
FlatNativeWindowsLibrary.setWindowBorderColor( hwnd, red, green, blue );
|
FlatNativeWindowsLibrary.dwmSetWindowAttributeCOLORREF( hwnd, FlatNativeWindowsLibrary.DWMWA_BORDER_COLOR, borderColor );
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void resetWindows11Border( Window popupWindow ) {
|
private static void resetWindows11Border( Window popupWindow ) {
|
||||||
|
|||||||
@@ -50,29 +50,6 @@ JNIEXPORT jlong JNICALL Java_com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_get
|
|||||||
|
|
||||||
//---- Desktop Window Manager (DWM) -------------------------------------------
|
//---- Desktop Window Manager (DWM) -------------------------------------------
|
||||||
|
|
||||||
// define constants that may not available in older development environments
|
|
||||||
|
|
||||||
#ifndef DWMWA_COLOR_DEFAULT
|
|
||||||
|
|
||||||
#define DWMWA_WINDOW_CORNER_PREFERENCE 33
|
|
||||||
#define DWMWA_BORDER_COLOR 34
|
|
||||||
|
|
||||||
typedef enum {
|
|
||||||
DWMWCP_DEFAULT = 0,
|
|
||||||
DWMWCP_DONOTROUND = 1,
|
|
||||||
DWMWCP_ROUND = 2,
|
|
||||||
DWMWCP_ROUNDSMALL = 3
|
|
||||||
} DWM_WINDOW_CORNER_PREFERENCE;
|
|
||||||
|
|
||||||
// Use this constant to reset any window part colors to the system default behavior
|
|
||||||
#define DWMWA_COLOR_DEFAULT 0xFFFFFFFF
|
|
||||||
|
|
||||||
// Use this constant to specify that a window part should not be rendered
|
|
||||||
#define DWMWA_COLOR_NONE 0xFFFFFFFE
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_setWindowCornerPreference
|
JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_setWindowCornerPreference
|
||||||
( JNIEnv* env, jclass cls, jlong hwnd, jint cornerPreference )
|
( JNIEnv* env, jclass cls, jlong hwnd, jint cornerPreference )
|
||||||
@@ -85,18 +62,23 @@ JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_
|
|||||||
}
|
}
|
||||||
|
|
||||||
extern "C"
|
extern "C"
|
||||||
JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_setWindowBorderColor
|
JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_dwmSetWindowAttributeBOOL
|
||||||
( JNIEnv* env, jclass cls, jlong hwnd, jint red, jint green, jint blue )
|
( JNIEnv* env, jclass cls, jlong hwnd, jint attribute, jboolean value )
|
||||||
{
|
{
|
||||||
if( hwnd == 0 )
|
if( hwnd == 0 )
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
COLORREF attr;
|
BOOL attr = value;
|
||||||
if( red == -1 )
|
return ::DwmSetWindowAttribute( reinterpret_cast<HWND>( hwnd ), attribute, &attr, sizeof( attr ) ) == S_OK;
|
||||||
attr = DWMWA_COLOR_DEFAULT;
|
}
|
||||||
else if( red == -2 )
|
|
||||||
attr = DWMWA_COLOR_NONE;
|
extern "C"
|
||||||
else
|
JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_dwmSetWindowAttributeDWORD
|
||||||
attr = RGB( red, green, blue );
|
( JNIEnv* env, jclass cls, jlong hwnd, jint attribute, jint value )
|
||||||
return ::DwmSetWindowAttribute( reinterpret_cast<HWND>( hwnd ), DWMWA_BORDER_COLOR, &attr, sizeof( attr ) ) == S_OK;
|
{
|
||||||
|
if( hwnd == 0 )
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
DWORD attr = value;
|
||||||
|
return ::DwmSetWindowAttribute( reinterpret_cast<HWND>( hwnd ), attribute, &attr, sizeof( attr ) ) == S_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,18 @@ extern "C" {
|
|||||||
#define com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWCP_ROUND 2L
|
#define com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWCP_ROUND 2L
|
||||||
#undef com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWCP_ROUNDSMALL
|
#undef com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWCP_ROUNDSMALL
|
||||||
#define com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWCP_ROUNDSMALL 3L
|
#define com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWCP_ROUNDSMALL 3L
|
||||||
|
#undef com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWA_USE_IMMERSIVE_DARK_MODE
|
||||||
|
#define com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWA_USE_IMMERSIVE_DARK_MODE 20L
|
||||||
|
#undef com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWA_BORDER_COLOR
|
||||||
|
#define com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWA_BORDER_COLOR 34L
|
||||||
|
#undef com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWA_CAPTION_COLOR
|
||||||
|
#define com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWA_CAPTION_COLOR 35L
|
||||||
|
#undef com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWA_TEXT_COLOR
|
||||||
|
#define com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWA_TEXT_COLOR 36L
|
||||||
|
#undef com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWA_COLOR_DEFAULT
|
||||||
|
#define com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWA_COLOR_DEFAULT -1L
|
||||||
|
#undef com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWA_COLOR_NONE
|
||||||
|
#define com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_DWMWA_COLOR_NONE -2L
|
||||||
/*
|
/*
|
||||||
* Class: com_formdev_flatlaf_ui_FlatNativeWindowsLibrary
|
* Class: com_formdev_flatlaf_ui_FlatNativeWindowsLibrary
|
||||||
* Method: getOSBuildNumberImpl
|
* Method: getOSBuildNumberImpl
|
||||||
@@ -41,11 +53,19 @@ JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: com_formdev_flatlaf_ui_FlatNativeWindowsLibrary
|
* Class: com_formdev_flatlaf_ui_FlatNativeWindowsLibrary
|
||||||
* Method: setWindowBorderColor
|
* Method: dwmSetWindowAttributeBOOL
|
||||||
* Signature: (JIII)Z
|
* Signature: (JIZ)Z
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_setWindowBorderColor
|
JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_dwmSetWindowAttributeBOOL
|
||||||
(JNIEnv *, jclass, jlong, jint, jint, jint);
|
(JNIEnv *, jclass, jlong, jint, jboolean);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Class: com_formdev_flatlaf_ui_FlatNativeWindowsLibrary
|
||||||
|
* Method: dwmSetWindowAttributeDWORD
|
||||||
|
* Signature: (JII)Z
|
||||||
|
*/
|
||||||
|
JNIEXPORT jboolean JNICALL Java_com_formdev_flatlaf_ui_FlatNativeWindowsLibrary_dwmSetWindowAttributeDWORD
|
||||||
|
(JNIEnv *, jclass, jlong, jint, jint);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,336 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2023 FormDev Software GmbH
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.formdev.flatlaf.testing;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
|
import javax.swing.*;
|
||||||
|
import com.formdev.flatlaf.FlatSystemProperties;
|
||||||
|
import com.formdev.flatlaf.ui.FlatNativeWindowsLibrary;
|
||||||
|
import net.miginfocom.swing.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Karl Tauber
|
||||||
|
*/
|
||||||
|
public class FlatWindows11DwmTest
|
||||||
|
extends FlatTestPanel
|
||||||
|
{
|
||||||
|
public static void main( String[] args ) {
|
||||||
|
SwingUtilities.invokeLater( () -> {
|
||||||
|
System.setProperty( FlatSystemProperties.USE_WINDOW_DECORATIONS, "false" );
|
||||||
|
|
||||||
|
FlatTestFrame frame = FlatTestFrame.create( args, FlatWindows11DwmTest.class.getSimpleName() );
|
||||||
|
frame.showFrame( FlatWindows11DwmTest::new );
|
||||||
|
} );
|
||||||
|
}
|
||||||
|
|
||||||
|
FlatWindows11DwmTest() {
|
||||||
|
initComponents();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void modeChanged() {
|
||||||
|
if( !checkNativeLibraryLoaded() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
boolean dark = darkModeRadioButton.isSelected();
|
||||||
|
FlatNativeWindowsLibrary.dwmSetWindowAttributeBOOL( getHWND(), FlatNativeWindowsLibrary.DWMWA_USE_IMMERSIVE_DARK_MODE, dark );
|
||||||
|
}
|
||||||
|
|
||||||
|
private void borderColorChanged() {
|
||||||
|
if( !checkNativeLibraryLoaded() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
Color color = null;
|
||||||
|
if( borderRedRadioButton.isSelected() )
|
||||||
|
color = Color.red;
|
||||||
|
else if( borderGreenRadioButton.isSelected() )
|
||||||
|
color = Color.green;
|
||||||
|
else if( borderNoneRadioButton.isSelected() )
|
||||||
|
color = FlatNativeWindowsLibrary.COLOR_NONE;
|
||||||
|
|
||||||
|
FlatNativeWindowsLibrary.dwmSetWindowAttributeCOLORREF( getHWND(), FlatNativeWindowsLibrary.DWMWA_BORDER_COLOR, color );
|
||||||
|
}
|
||||||
|
|
||||||
|
private void captionColorChanged() {
|
||||||
|
if( !checkNativeLibraryLoaded() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
Color color = null;
|
||||||
|
if( captionGreenRadioButton.isSelected() )
|
||||||
|
color = Color.green;
|
||||||
|
else if( captionYellowRadioButton.isSelected() )
|
||||||
|
color = Color.yellow;
|
||||||
|
else if( captionBlackRadioButton.isSelected() )
|
||||||
|
color = Color.black;
|
||||||
|
|
||||||
|
FlatNativeWindowsLibrary.dwmSetWindowAttributeCOLORREF( getHWND(), FlatNativeWindowsLibrary.DWMWA_CAPTION_COLOR, color );
|
||||||
|
}
|
||||||
|
|
||||||
|
private void textColorChanged() {
|
||||||
|
if( !checkNativeLibraryLoaded() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
Color color = null;
|
||||||
|
if( textRedRadioButton.isSelected() )
|
||||||
|
color = Color.red;
|
||||||
|
else if( textBlueRadioButton.isSelected() )
|
||||||
|
color = Color.blue;
|
||||||
|
else if( textWhiteRadioButton.isSelected() )
|
||||||
|
color = Color.white;
|
||||||
|
|
||||||
|
FlatNativeWindowsLibrary.dwmSetWindowAttributeCOLORREF( getHWND(), FlatNativeWindowsLibrary.DWMWA_TEXT_COLOR, color );
|
||||||
|
}
|
||||||
|
|
||||||
|
private void cornerChanged() {
|
||||||
|
if( !checkNativeLibraryLoaded() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
int cornerPreference = FlatNativeWindowsLibrary.DWMWCP_DEFAULT;
|
||||||
|
if( cornerDontRoundRadioButton.isSelected() )
|
||||||
|
cornerPreference = FlatNativeWindowsLibrary.DWMWCP_DONOTROUND;
|
||||||
|
else if( cornerRoundRadioButton.isSelected() )
|
||||||
|
cornerPreference = FlatNativeWindowsLibrary.DWMWCP_ROUND;
|
||||||
|
else if( cornerRoundSmallRadioButton.isSelected() )
|
||||||
|
cornerPreference = FlatNativeWindowsLibrary.DWMWCP_ROUNDSMALL;
|
||||||
|
|
||||||
|
FlatNativeWindowsLibrary.setWindowCornerPreference( getHWND(), cornerPreference );
|
||||||
|
}
|
||||||
|
|
||||||
|
private long getHWND() {
|
||||||
|
return FlatNativeWindowsLibrary.getHWND( SwingUtilities.getWindowAncestor( this ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean checkNativeLibraryLoaded() {
|
||||||
|
if( FlatNativeWindowsLibrary.isLoaded() )
|
||||||
|
return true;
|
||||||
|
|
||||||
|
JOptionPane.showMessageDialog( this, "FlatLaf native windows library not loaded/available." );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initComponents() {
|
||||||
|
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
|
||||||
|
JLabel modeLabel = new JLabel();
|
||||||
|
lightModeRadioButton = new JRadioButton();
|
||||||
|
darkModeRadioButton = new JRadioButton();
|
||||||
|
JLabel borderLabel = new JLabel();
|
||||||
|
borderDefaultRadioButton = new JRadioButton();
|
||||||
|
borderRedRadioButton = new JRadioButton();
|
||||||
|
borderGreenRadioButton = new JRadioButton();
|
||||||
|
borderNoneRadioButton = new JRadioButton();
|
||||||
|
JLabel captionLabel = new JLabel();
|
||||||
|
captionDefaultRadioButton = new JRadioButton();
|
||||||
|
captionGreenRadioButton = new JRadioButton();
|
||||||
|
captionYellowRadioButton = new JRadioButton();
|
||||||
|
captionBlackRadioButton = new JRadioButton();
|
||||||
|
JLabel textLabel = new JLabel();
|
||||||
|
textDefaultRadioButton = new JRadioButton();
|
||||||
|
textRedRadioButton = new JRadioButton();
|
||||||
|
textBlueRadioButton = new JRadioButton();
|
||||||
|
textWhiteRadioButton = new JRadioButton();
|
||||||
|
JLabel cornerLabel = new JLabel();
|
||||||
|
cornerDefaultRadioButton = new JRadioButton();
|
||||||
|
cornerDontRoundRadioButton = new JRadioButton();
|
||||||
|
cornerRoundRadioButton = new JRadioButton();
|
||||||
|
cornerRoundSmallRadioButton = new JRadioButton();
|
||||||
|
|
||||||
|
//======== this ========
|
||||||
|
setLayout(new MigLayout(
|
||||||
|
"ltr,insets dialog,hidemode 3",
|
||||||
|
// columns
|
||||||
|
"[fill]" +
|
||||||
|
"[left]" +
|
||||||
|
"[left]" +
|
||||||
|
"[left]" +
|
||||||
|
"[left]",
|
||||||
|
// rows
|
||||||
|
"[fill]para" +
|
||||||
|
"[]" +
|
||||||
|
"[]" +
|
||||||
|
"[]" +
|
||||||
|
"[]"));
|
||||||
|
|
||||||
|
//---- modeLabel ----
|
||||||
|
modeLabel.setText("Mode:");
|
||||||
|
add(modeLabel, "cell 0 0");
|
||||||
|
|
||||||
|
//---- lightModeRadioButton ----
|
||||||
|
lightModeRadioButton.setText("Light");
|
||||||
|
lightModeRadioButton.setSelected(true);
|
||||||
|
lightModeRadioButton.addActionListener(e -> modeChanged());
|
||||||
|
add(lightModeRadioButton, "cell 1 0");
|
||||||
|
|
||||||
|
//---- darkModeRadioButton ----
|
||||||
|
darkModeRadioButton.setText("Dark");
|
||||||
|
darkModeRadioButton.addActionListener(e -> modeChanged());
|
||||||
|
add(darkModeRadioButton, "cell 2 0");
|
||||||
|
|
||||||
|
//---- borderLabel ----
|
||||||
|
borderLabel.setText("Border Color:");
|
||||||
|
add(borderLabel, "cell 0 1");
|
||||||
|
|
||||||
|
//---- borderDefaultRadioButton ----
|
||||||
|
borderDefaultRadioButton.setText("Default");
|
||||||
|
borderDefaultRadioButton.setSelected(true);
|
||||||
|
borderDefaultRadioButton.addActionListener(e -> borderColorChanged());
|
||||||
|
add(borderDefaultRadioButton, "cell 1 1");
|
||||||
|
|
||||||
|
//---- borderRedRadioButton ----
|
||||||
|
borderRedRadioButton.setText("Red");
|
||||||
|
borderRedRadioButton.addActionListener(e -> borderColorChanged());
|
||||||
|
add(borderRedRadioButton, "cell 2 1");
|
||||||
|
|
||||||
|
//---- borderGreenRadioButton ----
|
||||||
|
borderGreenRadioButton.setText("Green");
|
||||||
|
borderGreenRadioButton.addActionListener(e -> borderColorChanged());
|
||||||
|
add(borderGreenRadioButton, "cell 3 1");
|
||||||
|
|
||||||
|
//---- borderNoneRadioButton ----
|
||||||
|
borderNoneRadioButton.setText("None");
|
||||||
|
borderNoneRadioButton.addActionListener(e -> borderColorChanged());
|
||||||
|
add(borderNoneRadioButton, "cell 4 1");
|
||||||
|
|
||||||
|
//---- captionLabel ----
|
||||||
|
captionLabel.setText("Caption Color:");
|
||||||
|
add(captionLabel, "cell 0 2");
|
||||||
|
|
||||||
|
//---- captionDefaultRadioButton ----
|
||||||
|
captionDefaultRadioButton.setText("Default");
|
||||||
|
captionDefaultRadioButton.setSelected(true);
|
||||||
|
captionDefaultRadioButton.addActionListener(e -> captionColorChanged());
|
||||||
|
add(captionDefaultRadioButton, "cell 1 2");
|
||||||
|
|
||||||
|
//---- captionGreenRadioButton ----
|
||||||
|
captionGreenRadioButton.setText("Green");
|
||||||
|
captionGreenRadioButton.addActionListener(e -> captionColorChanged());
|
||||||
|
add(captionGreenRadioButton, "cell 2 2");
|
||||||
|
|
||||||
|
//---- captionYellowRadioButton ----
|
||||||
|
captionYellowRadioButton.setText("Yellow");
|
||||||
|
captionYellowRadioButton.addActionListener(e -> captionColorChanged());
|
||||||
|
add(captionYellowRadioButton, "cell 3 2");
|
||||||
|
|
||||||
|
//---- captionBlackRadioButton ----
|
||||||
|
captionBlackRadioButton.setText("Black");
|
||||||
|
captionBlackRadioButton.addActionListener(e -> captionColorChanged());
|
||||||
|
add(captionBlackRadioButton, "cell 4 2");
|
||||||
|
|
||||||
|
//---- textLabel ----
|
||||||
|
textLabel.setText("Text Color:");
|
||||||
|
add(textLabel, "cell 0 3");
|
||||||
|
|
||||||
|
//---- textDefaultRadioButton ----
|
||||||
|
textDefaultRadioButton.setText("Default");
|
||||||
|
textDefaultRadioButton.setSelected(true);
|
||||||
|
textDefaultRadioButton.addActionListener(e -> textColorChanged());
|
||||||
|
add(textDefaultRadioButton, "cell 1 3");
|
||||||
|
|
||||||
|
//---- textRedRadioButton ----
|
||||||
|
textRedRadioButton.setText("Red");
|
||||||
|
textRedRadioButton.addActionListener(e -> textColorChanged());
|
||||||
|
add(textRedRadioButton, "cell 2 3");
|
||||||
|
|
||||||
|
//---- textBlueRadioButton ----
|
||||||
|
textBlueRadioButton.setText("Blue");
|
||||||
|
textBlueRadioButton.addActionListener(e -> textColorChanged());
|
||||||
|
add(textBlueRadioButton, "cell 3 3");
|
||||||
|
|
||||||
|
//---- textWhiteRadioButton ----
|
||||||
|
textWhiteRadioButton.setText("White");
|
||||||
|
textWhiteRadioButton.addActionListener(e -> textColorChanged());
|
||||||
|
add(textWhiteRadioButton, "cell 4 3");
|
||||||
|
|
||||||
|
//---- cornerLabel ----
|
||||||
|
cornerLabel.setText("Corner:");
|
||||||
|
add(cornerLabel, "cell 0 4");
|
||||||
|
|
||||||
|
//---- cornerDefaultRadioButton ----
|
||||||
|
cornerDefaultRadioButton.setText("Default");
|
||||||
|
cornerDefaultRadioButton.setSelected(true);
|
||||||
|
cornerDefaultRadioButton.addActionListener(e -> cornerChanged());
|
||||||
|
add(cornerDefaultRadioButton, "cell 1 4 4 1");
|
||||||
|
|
||||||
|
//---- cornerDontRoundRadioButton ----
|
||||||
|
cornerDontRoundRadioButton.setText("Don't Round");
|
||||||
|
cornerDontRoundRadioButton.addActionListener(e -> cornerChanged());
|
||||||
|
add(cornerDontRoundRadioButton, "cell 1 4 4 1");
|
||||||
|
|
||||||
|
//---- cornerRoundRadioButton ----
|
||||||
|
cornerRoundRadioButton.setText("Round");
|
||||||
|
cornerRoundRadioButton.addActionListener(e -> cornerChanged());
|
||||||
|
add(cornerRoundRadioButton, "cell 1 4 4 1");
|
||||||
|
|
||||||
|
//---- cornerRoundSmallRadioButton ----
|
||||||
|
cornerRoundSmallRadioButton.setText("Round Small");
|
||||||
|
cornerRoundSmallRadioButton.addActionListener(e -> cornerChanged());
|
||||||
|
add(cornerRoundSmallRadioButton, "cell 1 4 4 1");
|
||||||
|
|
||||||
|
//---- modeButtonGroup ----
|
||||||
|
ButtonGroup modeButtonGroup = new ButtonGroup();
|
||||||
|
modeButtonGroup.add(lightModeRadioButton);
|
||||||
|
modeButtonGroup.add(darkModeRadioButton);
|
||||||
|
|
||||||
|
//---- borderColorButtonGroup ----
|
||||||
|
ButtonGroup borderColorButtonGroup = new ButtonGroup();
|
||||||
|
borderColorButtonGroup.add(borderDefaultRadioButton);
|
||||||
|
borderColorButtonGroup.add(borderRedRadioButton);
|
||||||
|
borderColorButtonGroup.add(borderGreenRadioButton);
|
||||||
|
borderColorButtonGroup.add(borderNoneRadioButton);
|
||||||
|
|
||||||
|
//---- captionColorButtonGroup ----
|
||||||
|
ButtonGroup captionColorButtonGroup = new ButtonGroup();
|
||||||
|
captionColorButtonGroup.add(captionDefaultRadioButton);
|
||||||
|
captionColorButtonGroup.add(captionGreenRadioButton);
|
||||||
|
captionColorButtonGroup.add(captionYellowRadioButton);
|
||||||
|
captionColorButtonGroup.add(captionBlackRadioButton);
|
||||||
|
|
||||||
|
//---- textColorButtonGroup ----
|
||||||
|
ButtonGroup textColorButtonGroup = new ButtonGroup();
|
||||||
|
textColorButtonGroup.add(textDefaultRadioButton);
|
||||||
|
textColorButtonGroup.add(textRedRadioButton);
|
||||||
|
textColorButtonGroup.add(textBlueRadioButton);
|
||||||
|
textColorButtonGroup.add(textWhiteRadioButton);
|
||||||
|
|
||||||
|
//---- cornerButtonGroup ----
|
||||||
|
ButtonGroup cornerButtonGroup = new ButtonGroup();
|
||||||
|
cornerButtonGroup.add(cornerDefaultRadioButton);
|
||||||
|
cornerButtonGroup.add(cornerDontRoundRadioButton);
|
||||||
|
cornerButtonGroup.add(cornerRoundRadioButton);
|
||||||
|
cornerButtonGroup.add(cornerRoundSmallRadioButton);
|
||||||
|
// JFormDesigner - End of component initialization //GEN-END:initComponents
|
||||||
|
}
|
||||||
|
|
||||||
|
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
|
||||||
|
private JRadioButton lightModeRadioButton;
|
||||||
|
private JRadioButton darkModeRadioButton;
|
||||||
|
private JRadioButton borderDefaultRadioButton;
|
||||||
|
private JRadioButton borderRedRadioButton;
|
||||||
|
private JRadioButton borderGreenRadioButton;
|
||||||
|
private JRadioButton borderNoneRadioButton;
|
||||||
|
private JRadioButton captionDefaultRadioButton;
|
||||||
|
private JRadioButton captionGreenRadioButton;
|
||||||
|
private JRadioButton captionYellowRadioButton;
|
||||||
|
private JRadioButton captionBlackRadioButton;
|
||||||
|
private JRadioButton textDefaultRadioButton;
|
||||||
|
private JRadioButton textRedRadioButton;
|
||||||
|
private JRadioButton textBlueRadioButton;
|
||||||
|
private JRadioButton textWhiteRadioButton;
|
||||||
|
private JRadioButton cornerDefaultRadioButton;
|
||||||
|
private JRadioButton cornerDontRoundRadioButton;
|
||||||
|
private JRadioButton cornerRoundRadioButton;
|
||||||
|
private JRadioButton cornerRoundSmallRadioButton;
|
||||||
|
// JFormDesigner - End of variables declaration //GEN-END:variables
|
||||||
|
}
|
||||||
@@ -0,0 +1,278 @@
|
|||||||
|
JFDML JFormDesigner: "8.1.0.0.283" Java: "19.0.2" encoding: "UTF-8"
|
||||||
|
|
||||||
|
new FormModel {
|
||||||
|
contentType: "form/swing"
|
||||||
|
root: new FormRoot {
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.defaultVariableLocal": true
|
||||||
|
}
|
||||||
|
add( new FormContainer( "com.formdev.flatlaf.testing.FlatTestPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
|
||||||
|
"$layoutConstraints": "ltr,insets dialog,hidemode 3"
|
||||||
|
"$columnConstraints": "[fill][left][left][left][left]"
|
||||||
|
"$rowConstraints": "[fill]para[][][][]"
|
||||||
|
} ) {
|
||||||
|
name: "this"
|
||||||
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
|
name: "modeLabel"
|
||||||
|
"text": "Mode:"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 0"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "lightModeRadioButton"
|
||||||
|
"text": "Light"
|
||||||
|
"$buttonGroup": new FormReference( "modeButtonGroup" )
|
||||||
|
"selected": true
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "modeChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 0"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "darkModeRadioButton"
|
||||||
|
"text": "Dark"
|
||||||
|
"$buttonGroup": new FormReference( "modeButtonGroup" )
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "modeChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 2 0"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
|
name: "borderLabel"
|
||||||
|
"text": "Border Color:"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 1"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "borderDefaultRadioButton"
|
||||||
|
"text": "Default"
|
||||||
|
"$buttonGroup": new FormReference( "borderColorButtonGroup" )
|
||||||
|
"selected": true
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "borderColorChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 1"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "borderRedRadioButton"
|
||||||
|
"text": "Red"
|
||||||
|
"$buttonGroup": new FormReference( "borderColorButtonGroup" )
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "borderColorChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 2 1"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "borderGreenRadioButton"
|
||||||
|
"text": "Green"
|
||||||
|
"$buttonGroup": new FormReference( "borderColorButtonGroup" )
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "borderColorChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 3 1"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "borderNoneRadioButton"
|
||||||
|
"text": "None"
|
||||||
|
"$buttonGroup": new FormReference( "borderColorButtonGroup" )
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "borderColorChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 4 1"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
|
name: "captionLabel"
|
||||||
|
"text": "Caption Color:"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 2"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "captionDefaultRadioButton"
|
||||||
|
"text": "Default"
|
||||||
|
"$buttonGroup": new FormReference( "captionColorButtonGroup" )
|
||||||
|
"selected": true
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "captionColorChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 2"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "captionGreenRadioButton"
|
||||||
|
"text": "Green"
|
||||||
|
"$buttonGroup": new FormReference( "captionColorButtonGroup" )
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "captionColorChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 2 2"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "captionYellowRadioButton"
|
||||||
|
"text": "Yellow"
|
||||||
|
"$buttonGroup": &FormReference0 new FormReference( "captionColorButtonGroup" )
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "captionColorChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 3 2"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "captionBlackRadioButton"
|
||||||
|
"text": "Black"
|
||||||
|
"$buttonGroup": #FormReference0
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "captionColorChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 4 2"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
|
name: "textLabel"
|
||||||
|
"text": "Text Color:"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 3"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "textDefaultRadioButton"
|
||||||
|
"text": "Default"
|
||||||
|
"$buttonGroup": new FormReference( "textColorButtonGroup" )
|
||||||
|
"selected": true
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "textColorChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 3"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "textRedRadioButton"
|
||||||
|
"text": "Red"
|
||||||
|
"$buttonGroup": new FormReference( "textColorButtonGroup" )
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "textColorChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 2 3"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "textBlueRadioButton"
|
||||||
|
"text": "Blue"
|
||||||
|
"$buttonGroup": &FormReference1 new FormReference( "textColorButtonGroup" )
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "textColorChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 3 3"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "textWhiteRadioButton"
|
||||||
|
"text": "White"
|
||||||
|
"$buttonGroup": #FormReference1
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "textColorChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 4 3"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JLabel" ) {
|
||||||
|
name: "cornerLabel"
|
||||||
|
"text": "Corner:"
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 0 4"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "cornerDefaultRadioButton"
|
||||||
|
"text": "Default"
|
||||||
|
"$buttonGroup": new FormReference( "cornerButtonGroup" )
|
||||||
|
"selected": true
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "cornerChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 4 4 1"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "cornerDontRoundRadioButton"
|
||||||
|
"text": "Don't Round"
|
||||||
|
"$buttonGroup": new FormReference( "cornerButtonGroup" )
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "cornerChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 4 4 1"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "cornerRoundRadioButton"
|
||||||
|
"text": "Round"
|
||||||
|
"$buttonGroup": new FormReference( "cornerButtonGroup" )
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "cornerChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 4 4 1"
|
||||||
|
} )
|
||||||
|
add( new FormComponent( "javax.swing.JRadioButton" ) {
|
||||||
|
name: "cornerRoundSmallRadioButton"
|
||||||
|
"text": "Round Small"
|
||||||
|
"$buttonGroup": new FormReference( "cornerButtonGroup" )
|
||||||
|
auxiliary() {
|
||||||
|
"JavaCodeGenerator.variableLocal": false
|
||||||
|
}
|
||||||
|
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "cornerChanged", false ) )
|
||||||
|
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
|
||||||
|
"value": "cell 1 4 4 1"
|
||||||
|
} )
|
||||||
|
}, new FormLayoutConstraints( null ) {
|
||||||
|
"location": new java.awt.Point( 0, 0 )
|
||||||
|
"size": new java.awt.Dimension( 415, 350 )
|
||||||
|
} )
|
||||||
|
add( new FormNonVisual( "javax.swing.ButtonGroup" ) {
|
||||||
|
name: "modeButtonGroup"
|
||||||
|
}, new FormLayoutConstraints( null ) {
|
||||||
|
"location": new java.awt.Point( 0, 360 )
|
||||||
|
} )
|
||||||
|
add( new FormNonVisual( "javax.swing.ButtonGroup" ) {
|
||||||
|
name: "borderColorButtonGroup"
|
||||||
|
}, new FormLayoutConstraints( null ) {
|
||||||
|
"location": new java.awt.Point( 0, 414 )
|
||||||
|
} )
|
||||||
|
add( new FormNonVisual( "javax.swing.ButtonGroup" ) {
|
||||||
|
name: "captionColorButtonGroup"
|
||||||
|
}, new FormLayoutConstraints( null ) {
|
||||||
|
"location": new java.awt.Point( 0, 468 )
|
||||||
|
} )
|
||||||
|
add( new FormNonVisual( "javax.swing.ButtonGroup" ) {
|
||||||
|
name: "textColorButtonGroup"
|
||||||
|
}, new FormLayoutConstraints( null ) {
|
||||||
|
"location": new java.awt.Point( 0, 522 )
|
||||||
|
} )
|
||||||
|
add( new FormNonVisual( "javax.swing.ButtonGroup" ) {
|
||||||
|
name: "cornerButtonGroup"
|
||||||
|
}, new FormLayoutConstraints( null ) {
|
||||||
|
"location": new java.awt.Point( 0, 576 )
|
||||||
|
} )
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user