Compare commits

...

11 Commits
0.25 ... 0.26

Author SHA1 Message Date
Karl Tauber
5a29753912 release 0.26 2020-01-22 15:07:56 +01:00
Karl Tauber
a467356437 build.gradle.kts: disable javadoc warnings for missing @param or @return 2020-01-22 14:54:49 +01:00
Karl Tauber
094967f52a ProgressBar: made progress bar paint smooth in indeterminate mode 2020-01-22 14:21:38 +01:00
Karl Tauber
757b0812ba Menu: highlight items in menu bar on mouse hover (issue #49) 2020-01-20 23:35:50 +01:00
Karl Tauber
8f4f5d8c92 FlatClientProperties: fixed javadoc error 2020-01-20 20:17:58 +01:00
Karl Tauber
4e266483ba Menus: menu items now have larger left and right margins 2020-01-20 20:13:37 +01:00
Karl Tauber
7433dc9cf3 Menus: changed menu bar and popup menu background colors (made brighter in light themes and darker in dark themes)
made `JMenu`, `JMenuItem`, `JCheckBoxMenuItem` and `JRadioButtonMenuItem` non-opaque
2020-01-20 20:09:32 +01:00
Karl Tauber
409a773e36 IntelliJ Themes Demo: updated Arc, Arc Orange, and Material UI Lite themes (used IJThemesUpdater) 2020-01-20 14:58:39 +01:00
Karl Tauber
48bdd5c3df TextField, FormattedTextField and PasswordField: select all text when a text field gains focus for the first time and selection was not set explicitly 2020-01-19 18:05:12 +01:00
Karl Tauber
c8248e91ca release 0.25.1 2020-01-18 10:35:18 +01:00
Karl Tauber
7317ce44e7 update to Gradle 6.1
./gradlew wrapper --gradle-version=6.1
2020-01-18 10:25:55 +01:00
64 changed files with 1152 additions and 93 deletions

View File

@@ -1,6 +1,28 @@
FlatLaf Change Log
==================
## 0.26
- Menus:
- Changed menu bar and popup menu background colors (made brighter in light
themes and darker in dark themes).
- Highlight items in menu bar on mouse hover. (issue #49)
- Popup menus now have empty space at the top and bottom.
- Menu items now have larger left and right margins.
- Made `JMenu`, `JMenuItem`, `JCheckBoxMenuItem` and `JRadioButtonMenuItem`
non-opaque.
- TextField, FormattedTextField and PasswordField: Select all text when a text
field gains focus for the first time and selection was not set explicitly.
This can be configured to newer or always select all text on focus gain (see
UI default value `TextComponent.selectAllOnFocusPolicy`).
- ProgressBar: Made progress bar paint smooth in indeterminate mode.
## 0.25.1
Re-release of 0.25 because of problems with Maven Central.
## 0.25
- Hide menu mnemonics by default and show them only when <kbd>Alt</kbd> key is

View File

@@ -45,7 +45,7 @@ build script:
groupId: com.formdev
artifactId: flatlaf
version: 0.25
version: (see button below)
Otherwise download `flatlaf-<version>.jar` here:

View File

@@ -5,7 +5,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* 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,
@@ -14,7 +14,7 @@
* limitations under the License.
*/
version = "0.25"
version = "0.26"
allprojects {
repositories {

View File

@@ -5,7 +5,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* 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,
@@ -68,6 +68,7 @@ tasks {
options {
this as StandardJavadocDocletOptions
tags = listOf( "uiDefault", "clientProperty" )
addStringOption( "Xdoclint:all,-missing", "-Xdoclint:all,-missing" )
}
isFailOnError = false
}
@@ -106,7 +107,7 @@ publishing {
licenses {
license {
name.set( "The Apache License, Version 2.0" )
url.set( "http://www.apache.org/licenses/LICENSE-2.0.txt" )
url.set( "https://www.apache.org/licenses/LICENSE-2.0.txt" )
}
}

View File

@@ -48,7 +48,7 @@ public interface FlatClientProperties
* <p>
* <strong>Components</strong> {@link javax.swing.JToggleButton}
*
* @see #TOGGLE_BUTTON_TYPE
* @see #BUTTON_TYPE
*/
String BUTTON_TYPE_TAB = "tab";
@@ -141,10 +141,44 @@ public interface FlatClientProperties
*/
String TABBED_PANE_TAB_HEIGHT = "JTabbedPane.tabHeight";
/**
* Specifies whether all text is selected when the text component gains focus.
* <p>
* <strong>Component</strong> {@link javax.swing.JTextField} (and subclasses)<br>
* <strong>Value type</strong> {@link java.lang.String}<br>
* <strong>Allowed Values</strong> {@link #SELECT_ALL_ON_FOCUS_POLICY_NEVER},
* {@link #SELECT_ALL_ON_FOCUS_POLICY_ONCE} (default) or
* {@link #SELECT_ALL_ON_FOCUS_POLICY_ALWAYS}
*/
String SELECT_ALL_ON_FOCUS_POLICY = "JTextField.selectAllOnFocusPolicy";
/**
* Never select all text when the text component gains focus.
*
* @see #SELECT_ALL_ON_FOCUS_POLICY
*/
String SELECT_ALL_ON_FOCUS_POLICY_NEVER = "never";
/**
* Select all text when the text component gains focus for the first time
* and selection was not modified (is at end of text).
* This is the default.
*
* @see #SELECT_ALL_ON_FOCUS_POLICY
*/
String SELECT_ALL_ON_FOCUS_POLICY_ONCE = "once";
/**
* Always select all text when the text component gains focus.
*
* @see #SELECT_ALL_ON_FOCUS_POLICY
*/
String SELECT_ALL_ON_FOCUS_POLICY_ALWAYS = "always";
/**
* Placeholder text that is only painted if the text field is empty.
* <p>
* <strong>Component</strong> {@link javax.swing.JTextField} or {@link javax.swing.JComboBox}<br>
* <strong>Component</strong> {@link javax.swing.JTextField} (and subclasses) or {@link javax.swing.JComboBox}<br>
* <strong>Value type</strong> {@link java.lang.String}
*/
String PLACEHOLDER_TEXT = "JTextField.placeholderText";

View File

@@ -0,0 +1,128 @@
/*
* Copyright 2020 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.ui;
import static com.formdev.flatlaf.FlatClientProperties.*;
import java.awt.EventQueue;
import java.awt.event.FocusEvent;
import java.awt.event.MouseEvent;
import javax.swing.JFormattedTextField;
import javax.swing.plaf.UIResource;
import javax.swing.text.DefaultCaret;
import javax.swing.text.Document;
import javax.swing.text.JTextComponent;
/**
* Caret that can select all text on focus gained.
*
* @author Karl Tauber
*/
class FlatCaret
extends DefaultCaret
implements UIResource
{
private final String selectAllOnFocusPolicy;
private boolean wasFocused;
private boolean wasTemporaryLost;
private boolean isMousePressed;
FlatCaret( String selectAllOnFocusPolicy ) {
this.selectAllOnFocusPolicy = selectAllOnFocusPolicy;
}
@Override
public void install( JTextComponent c ) {
super.install( c );
// the dot and mark are lost when switching LaF
// --> move dot to end of text so that all text may be selected when it gains focus
Document doc = c.getDocument();
if( doc != null && getDot() == 0 && getMark() == 0 ) {
int length = doc.getLength();
if( length > 0 )
setDot( length );
}
}
@Override
public void focusGained( FocusEvent e ) {
if( !wasTemporaryLost && !isMousePressed )
selectAllOnFocusGained();
wasTemporaryLost = false;
wasFocused = true;
super.focusGained( e );
}
@Override
public void focusLost( FocusEvent e ) {
wasTemporaryLost = e.isTemporary();
super.focusLost( e );
}
@Override
public void mousePressed( MouseEvent e ) {
isMousePressed = true;
super.mousePressed( e );
}
@Override
public void mouseReleased( MouseEvent e ) {
isMousePressed = false;
super.mouseReleased( e );
}
private void selectAllOnFocusGained() {
JTextComponent c = getComponent();
Document doc = c.getDocument();
if( doc == null || !c.isEnabled() || !c.isEditable() )
return;
Object selectAllOnFocusPolicy = c.getClientProperty( SELECT_ALL_ON_FOCUS_POLICY );
if( selectAllOnFocusPolicy == null )
selectAllOnFocusPolicy = this.selectAllOnFocusPolicy;
if( SELECT_ALL_ON_FOCUS_POLICY_NEVER.equals( selectAllOnFocusPolicy ) )
return;
if( !SELECT_ALL_ON_FOCUS_POLICY_ALWAYS.equals( selectAllOnFocusPolicy ) ) {
// policy is "once" (or null or unknown)
// was already focused?
if( wasFocused )
return;
// check whether selection was modified before gaining focus
int dot = getDot();
int mark = getMark();
if( dot != mark || dot != doc.getLength() )
return;
}
// select all
if( c instanceof JFormattedTextField ) {
EventQueue.invokeLater( () -> {
setDot( 0 );
moveDot( doc.getLength() );
} );
} else {
setDot( 0 );
moveDot( doc.getLength() );
}
}
}

View File

@@ -43,6 +43,7 @@ import javax.swing.plaf.ComponentUI;
* @uiDefault Component.minimumWidth int
* @uiDefault Component.isIntelliJTheme boolean
* @uiDefault FormattedTextField.placeholderForeground Color
* @uiDefault TextComponent.selectAllOnFocusPolicy String never, once (default) or always
*
* @author Karl Tauber
*/

View File

@@ -0,0 +1,49 @@
/*
* Copyright 2020 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.ui;
import static com.formdev.flatlaf.util.UIScale.scale;
import java.awt.Component;
import java.awt.Insets;
import javax.swing.JMenuBar;
import javax.swing.UIManager;
/**
* Border for {@link javax.swing.JMenu}, {@link javax.swing.JMenuItem},
* {@link javax.swing.JCheckBoxMenuItem} and {@link javax.swing.JRadioButtonMenuItem}.
*
* @uiDefault MenuBar.itemMargins Insets
*
* @author Karl Tauber
*/
public class FlatMenuItemBorder
extends FlatMarginBorder
{
private final Insets menuBarItemMargins = UIManager.getInsets( "MenuBar.itemMargins" );
@Override
public Insets getBorderInsets( Component c, Insets insets ) {
if( c.getParent() instanceof JMenuBar ) {
insets.top = scale( menuBarItemMargins.top );
insets.left = scale( menuBarItemMargins.left );
insets.bottom = scale( menuBarItemMargins.bottom + 1 );
insets.right = scale( menuBarItemMargins.right );
return insets;
} else
return super.getBorderInsets( c, insets );
}
}

View File

@@ -17,11 +17,17 @@
package com.formdev.flatlaf.ui;
import static com.formdev.flatlaf.util.UIScale.scale;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.event.MouseEvent;
import java.beans.PropertyChangeListener;
import javax.swing.ButtonModel;
import javax.swing.JComponent;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.UIManager;
import javax.swing.event.MouseInputListener;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicMenuUI;
@@ -51,11 +57,17 @@ import javax.swing.plaf.basic.BasicMenuUI;
* @uiDefault Menu.useMenuBarBackgroundForTopLevel boolean default is false
* @uiDefault MenuBar.background Color used if Menu.useMenuBarBackgroundForTopLevel is true
*
* <!-- FlatMenuUI -->
*
* @uiDefault MenuBar.hoverBackground Color
*
* @author Karl Tauber
*/
public class FlatMenuUI
extends BasicMenuUI
{
private Color hoverBackground;
public static ComponentUI createUI( JComponent c ) {
return new FlatMenuUI();
}
@@ -64,10 +76,21 @@ public class FlatMenuUI
protected void installDefaults() {
super.installDefaults();
menuItem.setRolloverEnabled( true );
hoverBackground = UIManager.getColor( "MenuBar.hoverBackground" );
// scale
defaultTextIconGap = scale( defaultTextIconGap );
}
@Override
protected void uninstallDefaults() {
super.uninstallDefaults();
hoverBackground = null;
}
/**
* Scale defaultTextIconGap again if iconTextGap property has changed.
*/
@@ -81,6 +104,43 @@ public class FlatMenuUI
};
}
@Override
protected MouseInputListener createMouseInputListener( JComponent c ) {
return new BasicMenuUI.MouseInputHandler() {
@Override
public void mouseEntered( MouseEvent e ) {
super.mouseEntered( e );
rollover( e, true );
}
@Override
public void mouseExited( MouseEvent e ) {
super.mouseExited( e );
rollover( e, false );
}
private void rollover( MouseEvent e, boolean rollover ) {
JMenu menu = (JMenu) e.getSource();
if( menu.isTopLevelMenu() && menu.isRolloverEnabled() ) {
menu.getModel().setRollover( rollover );
menu.repaint();
}
}
};
}
@Override
protected void paintBackground( Graphics g, JMenuItem menuItem, Color bgColor ) {
ButtonModel model = menuItem.getModel();
if( model.isArmed() || model.isSelected() ) {
super.paintBackground( g, menuItem, bgColor );
} else if( model.isRollover() && model.isEnabled() && ((JMenu)menuItem).isTopLevelMenu() ) {
FlatUIUtils.setColor( g, hoverBackground, menuItem.getBackground() );
g.fillRect( 0, 0, menuItem.getWidth(), menuItem.getHeight() );
} else
super.paintBackground( g, menuItem, bgColor );
}
@Override
protected void paintText( Graphics g, JMenuItem menuItem, Rectangle textRect, String text ) {
FlatMenuItemUI.paintText( g, menuItem, textRect, text, disabledForeground, selectionForeground );

View File

@@ -27,6 +27,7 @@ import javax.swing.LookAndFeel;
import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.basic.BasicPasswordFieldUI;
import javax.swing.text.Caret;
import com.formdev.flatlaf.FlatClientProperties;
import com.formdev.flatlaf.util.SystemInfo;
@@ -55,6 +56,7 @@ import com.formdev.flatlaf.util.SystemInfo;
* @uiDefault Component.minimumWidth int
* @uiDefault Component.isIntelliJTheme boolean
* @uiDefault PasswordField.placeholderForeground Color
* @uiDefault TextComponent.selectAllOnFocusPolicy String never, once (default) or always
*
* @author Karl Tauber
*/
@@ -116,6 +118,11 @@ public class FlatPasswordFieldUI
focusListener = null;
}
@Override
protected Caret createCaret() {
return new FlatCaret( UIManager.getString( "TextComponent.selectAllOnFocusPolicy" ) );
}
@Override
protected void propertyChange( PropertyChangeEvent e ) {
super.propertyChange( e );

View File

@@ -16,7 +16,12 @@
package com.formdev.flatlaf.ui;
import java.awt.Component;
import java.awt.Container;
import java.awt.Insets;
import javax.swing.JScrollPane;
import javax.swing.UIManager;
import com.formdev.flatlaf.util.UIScale;
/**
* Border for {@link javax.swing.JPopupMenu}.
@@ -33,4 +38,18 @@ public class FlatPopupMenuBorder
super( UIManager.getInsets( "PopupMenu.borderInsets" ),
UIManager.getColor( "PopupMenu.borderColor" ) );
}
@Override
public Insets getBorderInsets( Component c, Insets insets ) {
if( c instanceof Container &&
((Container)c).getComponentCount() > 0 &&
((Container)c).getComponent( 0 ) instanceof JScrollPane )
{
// e.g. for combobox popups
insets.left = insets.top = insets.right = insets.bottom = UIScale.scale( 1 );
return insets;
}
return super.getBorderInsets( c, insets );
}
}

View File

@@ -35,6 +35,7 @@ import javax.swing.UIManager;
import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.UIResource;
import javax.swing.plaf.basic.BasicTextFieldUI;
import javax.swing.text.Caret;
import javax.swing.text.JTextComponent;
import com.formdev.flatlaf.FlatClientProperties;
@@ -62,6 +63,7 @@ import com.formdev.flatlaf.FlatClientProperties;
* @uiDefault Component.minimumWidth int
* @uiDefault Component.isIntelliJTheme boolean
* @uiDefault TextField.placeholderForeground Color
* @uiDefault TextComponent.selectAllOnFocusPolicy String never, once (default) or always
*
* @author Karl Tauber
*/
@@ -119,6 +121,11 @@ public class FlatTextFieldUI
focusListener = null;
}
@Override
protected Caret createCaret() {
return new FlatCaret( UIManager.getString( "TextComponent.selectAllOnFocusPolicy" ) );
}
@Override
protected void propertyChange( PropertyChangeEvent e ) {
super.propertyChange( e );

View File

@@ -28,6 +28,7 @@
@selectionInactiveForeground=@foreground
@disabledText=#777777
@textComponentBackground=#45494A
@menuBackground=darken(@background,5%)
@cellFocusColor=#000000
@icon=#adadad
@@ -144,6 +145,7 @@ Menu.icon.disabledArrowColor=#606060
#---- MenuBar ----
MenuBar.borderColor=#515151
MenuBar.hoverBackground=lighten($MenuBar.background,10%)
#---- MenuItemCheckBox ----

View File

@@ -59,6 +59,7 @@ ViewportUI=com.formdev.flatlaf.ui.FlatViewportUI
#---- variables ----
@textComponentMargin=2,6,2,6
@menuItemMargin=2,8,2,8
#---- system colors ----
@@ -117,10 +118,12 @@ CheckBox.rollover=true
#---- CheckBoxMenuItem ----
CheckBoxMenuItem.border=com.formdev.flatlaf.ui.FlatMarginBorder
CheckBoxMenuItem.border=com.formdev.flatlaf.ui.FlatMenuItemBorder
CheckBoxMenuItem.checkIcon=com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon
CheckBoxMenuItem.arrowIcon=com.formdev.flatlaf.icons.FlatMenuItemArrowIcon
CheckBoxMenuItem.margin=2,2,2,2
CheckBoxMenuItem.margin=@menuItemMargin
CheckBoxMenuItem.opaque=false
CheckBoxMenuItem.background=@menuBackground
#---- ColorChooser ----
@@ -212,23 +215,29 @@ List.dropLineColor=@dropLineColor
#---- Menu ----
Menu.border=com.formdev.flatlaf.ui.FlatMarginBorder
Menu.border=com.formdev.flatlaf.ui.FlatMenuItemBorder
Menu.arrowIcon=com.formdev.flatlaf.icons.FlatMenuArrowIcon
Menu.margin=2,2,2,2
Menu.margin=@menuItemMargin
Menu.submenuPopupOffsetX={scaledInteger}-4
Menu.submenuPopupOffsetY={scaledInteger}-1
Menu.submenuPopupOffsetY={scaledInteger}-4
Menu.opaque=false
Menu.background=@menuBackground
#---- MenuBar ----
MenuBar.border=com.formdev.flatlaf.ui.FlatMenuBarBorder
MenuBar.background=@menuBackground
MenuBar.itemMargins=3,3,3,3
#---- MenuItem ----
MenuItem.border=com.formdev.flatlaf.ui.FlatMarginBorder
MenuItem.border=com.formdev.flatlaf.ui.FlatMenuItemBorder
MenuItem.arrowIcon=com.formdev.flatlaf.icons.FlatMenuItemArrowIcon
MenuItem.margin=2,2,2,2
MenuItem.margin=@menuItemMargin
MenuItem.opaque=false
MenuItem.background=@menuBackground
#---- OptionPane ----
@@ -265,7 +274,8 @@ PasswordField.placeholderForeground=@disabledText
#---- PopupMenu ----
PopupMenu.border=com.formdev.flatlaf.ui.FlatPopupMenuBorder
PopupMenu.borderInsets=1,1,1,1
PopupMenu.borderInsets=4,1,4,1
PopupMenu.background=@menuBackground
#---- PopupMenuSeparator ----
@@ -281,6 +291,8 @@ ProgressBar.border=com.formdev.flatlaf.ui.FlatEmptyBorder
ProgressBar.arc=4
ProgressBar.horizontalSize=146,4
ProgressBar.verticalSize=4,146
ProgressBar.cycleTime=4000
ProgressBar.repaintInterval=15
#---- RadioButton ----
@@ -295,10 +307,12 @@ RadioButton.rollover=true
#---- RadioButtonMenuItem ----
RadioButtonMenuItem.border=com.formdev.flatlaf.ui.FlatMarginBorder
RadioButtonMenuItem.border=com.formdev.flatlaf.ui.FlatMenuItemBorder
RadioButtonMenuItem.checkIcon=com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon
RadioButtonMenuItem.arrowIcon=com.formdev.flatlaf.icons.FlatMenuItemArrowIcon
RadioButtonMenuItem.margin=2,2,2,2
RadioButtonMenuItem.margin=@menuItemMargin
RadioButtonMenuItem.opaque=false
RadioButtonMenuItem.background=@menuBackground
#---- ScrollBar ----
@@ -407,6 +421,12 @@ TextArea.margin=@textComponentMargin
TextArea.background=@textComponentBackground
#---- TextComponent ----
# allowed values: "never", "once" (default) or "always"
TextComponent.selectAllOnFocusPolicy=once
#---- TextField ----
TextField.border=com.formdev.flatlaf.ui.FlatBorder

View File

@@ -28,6 +28,7 @@
@selectionInactiveForeground=@foreground
@disabledText=#8C8C8C
@textComponentBackground=#ffffff
@menuBackground=#fff
@cellFocusColor=#000000
@icon=#afafaf
@@ -151,6 +152,7 @@ Menu.icon.disabledArrowColor=#ABABAB
#---- MenuBar ----
MenuBar.borderColor=#cdcdcd
MenuBar.hoverBackground=darken($MenuBar.background,10%)
#---- MenuItemCheckBox ----

View File

@@ -5,7 +5,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* 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,

View File

@@ -17,6 +17,7 @@
package com.formdev.flatlaf.demo;
import javax.swing.*;
import javax.swing.text.DefaultEditorKit;
import net.miginfocom.swing.*;
/**
@@ -113,6 +114,10 @@ class BasicComponentsPanel
JScrollPane scrollPane12 = new JScrollPane();
JTextPane textPane4 = new JTextPane();
JTextPane textPane5 = new JTextPane();
JPopupMenu popupMenu1 = new JPopupMenu();
JMenuItem cutMenuItem = new JMenuItem();
JMenuItem copyMenuItem = new JMenuItem();
JMenuItem pasteMenuItem = new JMenuItem();
//======== this ========
setLayout(new MigLayout(
@@ -260,6 +265,8 @@ class BasicComponentsPanel
//---- comboBoxLabel ----
comboBoxLabel.setText("JComboBox:");
comboBoxLabel.setDisplayedMnemonic('C');
comboBoxLabel.setLabelFor(comboBox1);
add(comboBoxLabel, "cell 0 4");
//---- comboBox1 ----
@@ -314,6 +321,8 @@ class BasicComponentsPanel
//---- spinnerLabel ----
spinnerLabel.setText("JSpinner:");
spinnerLabel.setLabelFor(spinner1);
spinnerLabel.setDisplayedMnemonic('S');
add(spinnerLabel, "cell 0 5");
add(spinner1, "cell 1 5,growx");
@@ -328,10 +337,13 @@ class BasicComponentsPanel
//---- textFieldLabel ----
textFieldLabel.setText("JTextField:");
textFieldLabel.setDisplayedMnemonic('T');
textFieldLabel.setLabelFor(textField1);
add(textFieldLabel, "cell 0 6");
//---- textField1 ----
textField1.setText("editable");
textField1.setComponentPopupMenu(popupMenu1);
add(textField1, "cell 1 6,growx");
//---- textField2 ----
@@ -356,10 +368,13 @@ class BasicComponentsPanel
//---- formattedTextFieldLabel ----
formattedTextFieldLabel.setText("JFormattedTextField:");
formattedTextFieldLabel.setLabelFor(formattedTextField1);
formattedTextFieldLabel.setDisplayedMnemonic('O');
add(formattedTextFieldLabel, "cell 0 7");
//---- formattedTextField1 ----
formattedTextField1.setText("editable");
formattedTextField1.setComponentPopupMenu(popupMenu1);
add(formattedTextField1, "cell 1 7,growx");
//---- formattedTextField2 ----
@@ -582,7 +597,27 @@ class BasicComponentsPanel
//---- textPane5 ----
textPane5.setText("no scroll pane");
add(textPane5, "cell 5 11,growx");
//======== popupMenu1 ========
{
//---- cutMenuItem ----
cutMenuItem.setText("Cut");
popupMenu1.add(cutMenuItem);
//---- copyMenuItem ----
copyMenuItem.setText("Copy");
popupMenu1.add(copyMenuItem);
//---- pasteMenuItem ----
pasteMenuItem.setText("Paste");
popupMenu1.add(pasteMenuItem);
}
// JFormDesigner - End of component initialization //GEN-END:initComponents
cutMenuItem.addActionListener( new DefaultEditorKit.CutAction() );
copyMenuItem.addActionListener( new DefaultEditorKit.CopyAction() );
pasteMenuItem.addActionListener( new DefaultEditorKit.PasteAction() );
}
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables

View File

@@ -183,6 +183,8 @@ new FormModel {
add( new FormComponent( "javax.swing.JLabel" ) {
name: "comboBoxLabel"
"text": "JComboBox:"
"displayedMnemonic": 67
"labelFor": new FormReference( "comboBox1" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 4"
} )
@@ -254,6 +256,8 @@ new FormModel {
add( new FormComponent( "javax.swing.JLabel" ) {
name: "spinnerLabel"
"text": "JSpinner:"
"labelFor": new FormReference( "spinner1" )
"displayedMnemonic": 83
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 5"
} )
@@ -281,12 +285,15 @@ new FormModel {
add( new FormComponent( "javax.swing.JLabel" ) {
name: "textFieldLabel"
"text": "JTextField:"
"displayedMnemonic": 84
"labelFor": new FormReference( "textField1" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 6"
} )
add( new FormComponent( "javax.swing.JTextField" ) {
name: "textField1"
"text": "editable"
"componentPopupMenu": &FormReference0 new FormReference( "popupMenu1" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 6,growx"
} )
@@ -321,12 +328,15 @@ new FormModel {
add( new FormComponent( "javax.swing.JLabel" ) {
name: "formattedTextFieldLabel"
"text": "JFormattedTextField:"
"labelFor": new FormReference( "formattedTextField1" )
"displayedMnemonic": 79
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 7"
} )
add( new FormComponent( "javax.swing.JFormattedTextField" ) {
name: "formattedTextField1"
"text": "editable"
"componentPopupMenu": #FormReference0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 7,growx"
} )
@@ -585,7 +595,25 @@ new FormModel {
} )
}, new FormLayoutConstraints( null ) {
"location": new java.awt.Point( 0, 0 )
"size": new java.awt.Dimension( 790, 715 )
"size": new java.awt.Dimension( 790, 440 )
} )
add( new FormContainer( "javax.swing.JPopupMenu", new FormLayoutManager( class javax.swing.JPopupMenu ) ) {
name: "popupMenu1"
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "cutMenuItem"
"text": "Cut"
} )
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "copyMenuItem"
"text": "Copy"
} )
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "pasteMenuItem"
"text": "Paste"
} )
}, new FormLayoutConstraints( null ) {
"location": new java.awt.Point( 0, 500 )
"size": new java.awt.Dimension( 91, 87 )
} )
}
}

View File

@@ -19,6 +19,7 @@ package com.formdev.flatlaf.demo;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.DefaultEditorKit;
import com.formdev.flatlaf.demo.intellijthemes.*;
import com.formdev.flatlaf.extras.FlatSVGIcon;
import net.miginfocom.swing.*;
@@ -175,21 +176,18 @@ class DemoFrame
cutMenuItem.setText("Cut");
cutMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
cutMenuItem.setMnemonic('C');
cutMenuItem.addActionListener(e -> menuItemActionPerformed(e));
editMenu.add(cutMenuItem);
//---- copyMenuItem ----
copyMenuItem.setText("Copy");
copyMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
copyMenuItem.setMnemonic('O');
copyMenuItem.addActionListener(e -> menuItemActionPerformed(e));
editMenu.add(copyMenuItem);
//---- pasteMenuItem ----
pasteMenuItem.setText("Paste");
pasteMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
pasteMenuItem.setMnemonic('P');
pasteMenuItem.addActionListener(e -> menuItemActionPerformed(e));
editMenu.add(pasteMenuItem);
editMenu.addSeparator();
@@ -385,6 +383,10 @@ class DemoFrame
pasteButton.setIcon( new FlatSVGIcon( "com/formdev/flatlaf/demo/icons/menu-paste.svg" ) );
refreshButton.setIcon( new FlatSVGIcon( "com/formdev/flatlaf/demo/icons/refresh.svg" ) );
showToggleButton.setIcon( new FlatSVGIcon( "com/formdev/flatlaf/demo/icons/show.svg" ) );
cutMenuItem.addActionListener( new DefaultEditorKit.CutAction() );
copyMenuItem.addActionListener( new DefaultEditorKit.CopyAction() );
pasteMenuItem.addActionListener( new DefaultEditorKit.PasteAction() );
}
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables

View File

@@ -179,21 +179,18 @@ new FormModel {
"text": "Cut"
"accelerator": static javax.swing.KeyStroke getKeyStroke( 88, 4226, false )
"mnemonic": 67
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "menuItemActionPerformed", true ) )
} )
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "copyMenuItem"
"text": "Copy"
"accelerator": static javax.swing.KeyStroke getKeyStroke( 67, 4226, false )
"mnemonic": 79
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "menuItemActionPerformed", true ) )
} )
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "pasteMenuItem"
"text": "Paste"
"accelerator": static javax.swing.KeyStroke getKeyStroke( 86, 4226, false )
"mnemonic": 80
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "menuItemActionPerformed", true ) )
} )
add( new FormComponent( "javax.swing.JPopupMenu$Separator" ) {
name: "separator3"

View File

@@ -10,7 +10,8 @@
"selectionForeground": "#ffffff",
"selectionInactiveBackground": "#C36200",
"selectionBackgroundInactive": "#c36200",
"background" : "#F5F5F5"
"background" : "#FFFFFF",
"focusColor" : "#f57900"
},
"Borders": {
@@ -23,6 +24,7 @@
"startBorderColor": "#C4C4C4",
"endBorderColor": "#C4C4C4",
"focusedBorderColor" : "#f57900",
"background" : "#F5F5F5",
"default": {
"foreground": "#FFFFFF",
"startBackground": "#f57900",
@@ -40,8 +42,6 @@
"WelcomeScreen.background" : "#F5F5F5",
"WelcomeScreen.Projects.background" : "#ffffff",
"List.background" : "#ffffff",
"MenuBar.foreground" : "#5c616c",
"Menu.background" : "#ffffff",
"Menu.separatorColor" : "#F5F5F5",
@@ -49,8 +49,10 @@
"MenuItem.foreground" : "#5c616c",
"MenuItem.background" : "#ffffff",
"PopupMenuSeparator.height" : "1",
"Separator.separatorColor" : "#9ba2ab",
"Tree.background" : "#ffffff",
"Tree.rowHeight": "23",
"ProgressBar.background" : "#f57900",
"ProgressBar.foreground" : "#f57900",
@@ -69,9 +71,11 @@
"ParameterInfo.background" : "#fffae3",
"ParameterInfo.currentOverloadBackground" : "#fffae3",
"List.background" : "#ffffff",
"List.dropLineColor" : "#f57900",
"List.selectionBackground": "#f57900",
"List.selectionForeground": "#ffffff",
"List.selectionInactiveBackground": "#C36200",
"Table.background" : "#ffffff",
"Table.selectionBackground" : "#f57900",
@@ -83,6 +87,7 @@
"TabbedPane.underlineColor" : "#f57900",
"TabbedPane.tabSelectionHeight" : 2,
"TabbedPane.background" : "#F5F5F5",
"Link.hoverForeground" : "#f57900",
"Link.activeForeground" : "#f57900",
@@ -98,8 +103,22 @@
"TextArea.background" : "#ffffff",
"TextPane.background" : "#ffffff",
"PasswordField.background" : "#ffffff",
"FormattedTextField.background" : "#ffffff",
"Editor.background" : "#f5f5f5",
"EditorPane.background" : "#ffffff",
"CompletionPopup.background" : "#ffffff",
"CheckBox.background" : "#F5F5F5",
"RadioButton.background" : "#F5F5F5",
"Slider.background" : "#F5F5F5",
"Spinner.background" : "#F5F5F5",
"OptionPane.background" : "#F5F5F5",
"CompletionPopup": {
"selectionBackground" : "#F5790055",
"nonFocusedMask": false,
"matchForeground": "#F57900",
"selectionInactiveBackground": "#C36200"
},
"Plugins.lightSelectionBackground" : "#dddee1",
"Plugins.SearchField.background" : "#ffffff",
@@ -116,8 +135,10 @@
"Counter.foreground" : "#ffffff",
"SearchEverywhere.SearchField.background" : "#ffffff",
"SearchEverywhere.Header.background" : "#F5F5F5",
"ToolTip.background" : "#fffae3",
"ToolTip.background" : "#F5F5F5",
"ToolTip.Actions.background" : "#F5F5F5",
"ToolWindow.Header.background" : "#e7e8eb",
"ToolWindow.HeaderTab.selectedBackground" : "#dddee1",
@@ -128,8 +149,12 @@
"ToolWindow.HeaderTab.underlineColor" : "#f57900",
"DefaultTabs.underlineHeight" : 2,
"DefaultTabs.underlineColor" : "#f57900",
"DefaultTabs.background" : "#F5F5F5",
"EditorTabs.underlineHeight" : 2,
"EditorTabs.underlineColor" : "#f57900"
"EditorTabs.underlineColor" : "#f57900",
"EditorTabs.background" : "#F5F5F5",
"Notification.background" : "#F5F5F5"
},

View File

@@ -10,7 +10,8 @@
"selectionForeground": "#ffffff",
"selectionInactiveBackground": "#1e61b0",
"selectionBackgroundInactive": "#1e61b0",
"background" : "#F5F5F5"
"background" : "#FFFFFF",
"focusColor" : "#2679db"
},
"Borders": {
@@ -23,6 +24,7 @@
"startBorderColor": "#C4C4C4",
"endBorderColor": "#C4C4C4",
"focusedBorderColor" : "#2679db",
"background" : "#F5F5F5",
"default": {
"foreground": "#FFFFFF",
"startBackground": "#2679db",
@@ -40,8 +42,6 @@
"WelcomeScreen.background" : "#F5F5F5",
"WelcomeScreen.Projects.background" : "#ffffff",
"List.background" : "#ffffff",
"MenuBar.foreground" : "#5c616c",
"Menu.background" : "#ffffff",
"Menu.separatorColor" : "#F5F5F5",
@@ -49,8 +49,10 @@
"MenuItem.foreground" : "#5c616c",
"MenuItem.background" : "#ffffff",
"PopupMenuSeparator.height" : "1",
"Separator.separatorColor" : "#9ba2ab",
"Tree.background" : "#ffffff",
"Tree.rowHeight": "23",
"ProgressBar.background" : "#2679db",
"ProgressBar.foreground" : "#2679db",
@@ -69,9 +71,11 @@
"ParameterInfo.background" : "#fffae3",
"ParameterInfo.currentOverloadBackground" : "#fffae3",
"List.background" : "#ffffff",
"List.dropLineColor" : "#2679db",
"List.selectionBackground": "#2679db",
"List.selectionForeground": "#ffffff",
"List.selectionInactiveBackground": "#1e61b0",
"Table.background" : "#ffffff",
"Table.selectionBackground" : "#2679db",
@@ -83,6 +87,7 @@
"TabbedPane.underlineColor" : "#2679db",
"TabbedPane.tabSelectionHeight" : 2,
"TabbedPane.background" : "#F5F5F5",
"Link.hoverForeground" : "#2679db",
"Link.activeForeground" : "#2679db",
@@ -98,8 +103,22 @@
"TextArea.background" : "#ffffff",
"TextPane.background" : "#ffffff",
"PasswordField.background" : "#ffffff",
"FormattedTextField.background" : "#ffffff",
"Editor.background" : "#f5f5f5",
"EditorPane.background" : "#ffffff",
"CompletionPopup.background" : "#ffffff",
"CheckBox.background" : "#F5F5F5",
"RadioButton.background" : "#F5F5F5",
"Slider.background" : "#F5F5F5",
"Spinner.background" : "#F5F5F5",
"OptionPane.background" : "#F5F5F5",
"CompletionPopup": {
"selectionBackground" : "#2679db55",
"nonFocusedMask": false,
"matchForeground": "#2679db",
"selectionInactiveBackground": "#1e61b0"
},
"Plugins.lightSelectionBackground" : "#dddee1",
"Plugins.SearchField.background" : "#ffffff",
@@ -116,8 +135,10 @@
"Counter.foreground" : "#ffffff",
"SearchEverywhere.SearchField.background" : "#ffffff",
"SearchEverywhere.Header.background" : "#F5F5F5",
"ToolTip.background" : "#fffae3",
"ToolTip.background" : "#F5F5F5",
"ToolTip.Actions.background" : "#F5F5F5",
"ToolWindow.Header.background" : "#e7e8eb",
"ToolWindow.HeaderTab.selectedBackground" : "#dddee1",
@@ -128,8 +149,12 @@
"ToolWindow.HeaderTab.underlineColor" : "#2679db",
"DefaultTabs.underlineHeight" : 2,
"DefaultTabs.underlineColor" : "#2679db",
"DefaultTabs.background" : "#F5F5F5",
"EditorTabs.underlineHeight" : 2,
"EditorTabs.underlineColor" : "#2679db"
"EditorTabs.underlineColor" : "#2679db",
"EditorTabs.background" : "#F5F5F5",
"Notification.background" : "#F5F5F5"
},

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#42A5F5",
"Checkbox.Foreground.Disabled": "#D3DAE3",
"Checkbox.Foreground.Disabled.Dark": "#D3DAE3",
"Checkbox.Background.Selected": "#2f343f",
"Checkbox.Background.Selected": "#42A5F5",
"Checkbox.Background.Selected.Dark": "#2f343f",
"Checkbox.Border.Selected": "#42A5F5",
"Checkbox.Border.Selected.Dark": "#42A5F5",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#42A5F5",
"Checkbox.Foreground.Disabled": "#D3DAE3",
"Checkbox.Foreground.Disabled.Dark": "#D3DAE3",
"Checkbox.Background.Selected": "#2f343f",
"Checkbox.Background.Selected": "#42A5F5",
"Checkbox.Background.Selected.Dark": "#2f343f",
"Checkbox.Border.Selected": "#42A5F5",
"Checkbox.Border.Selected.Dark": "#42A5F5",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#2979ff",
"Checkbox.Foreground.Disabled": "#6B727D",
"Checkbox.Foreground.Disabled.Dark": "#6B727D",
"Checkbox.Background.Selected": "#282C34",
"Checkbox.Background.Selected": "#2979ff",
"Checkbox.Background.Selected.Dark": "#282C34",
"Checkbox.Border.Selected": "#2979ff",
"Checkbox.Border.Selected.Dark": "#2979ff",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#2979ff",
"Checkbox.Foreground.Disabled": "#6B727D",
"Checkbox.Foreground.Disabled.Dark": "#6B727D",
"Checkbox.Background.Selected": "#282C34",
"Checkbox.Background.Selected": "#2979ff",
"Checkbox.Background.Selected.Dark": "#282C34",
"Checkbox.Border.Selected": "#2979ff",
"Checkbox.Border.Selected.Dark": "#2979ff",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#2979ff",
"Checkbox.Foreground.Disabled": "#b8b8b9",
"Checkbox.Foreground.Disabled.Dark": "#b8b8b9",
"Checkbox.Background.Selected": "#F4F4F4",
"Checkbox.Background.Selected": "#2979ff",
"Checkbox.Background.Selected.Dark": "#F4F4F4",
"Checkbox.Border.Selected": "#2979ff",
"Checkbox.Border.Selected.Dark": "#2979ff",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#2979ff",
"Checkbox.Foreground.Disabled": "#b8b8b9",
"Checkbox.Foreground.Disabled.Dark": "#b8b8b9",
"Checkbox.Background.Selected": "#F4F4F4",
"Checkbox.Background.Selected": "#2979ff",
"Checkbox.Background.Selected.Dark": "#F4F4F4",
"Checkbox.Border.Selected": "#2979ff",
"Checkbox.Border.Selected.Dark": "#2979ff",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#FF79C5",
"Checkbox.Foreground.Disabled": "#6272A4",
"Checkbox.Foreground.Disabled.Dark": "#6272A4",
"Checkbox.Background.Selected": "#282A36",
"Checkbox.Background.Selected": "#FF79C5",
"Checkbox.Background.Selected.Dark": "#282A36",
"Checkbox.Border.Selected": "#FF79C5",
"Checkbox.Border.Selected.Dark": "#FF79C5",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#FF79C5",
"Checkbox.Foreground.Disabled": "#6272A4",
"Checkbox.Foreground.Disabled.Dark": "#6272A4",
"Checkbox.Background.Selected": "#282A36",
"Checkbox.Background.Selected": "#FF79C5",
"Checkbox.Background.Selected.Dark": "#282A36",
"Checkbox.Border.Selected": "#FF79C5",
"Checkbox.Border.Selected.Dark": "#FF79C5",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#79CB60",
"Checkbox.Foreground.Disabled": "#9ba0a3",
"Checkbox.Foreground.Disabled.Dark": "#9ba0a3",
"Checkbox.Background.Selected": "#F7F8FA",
"Checkbox.Background.Selected": "#79CB60",
"Checkbox.Background.Selected.Dark": "#F7F8FA",
"Checkbox.Border.Selected": "#79CB60",
"Checkbox.Border.Selected.Dark": "#79CB60",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#79CB60",
"Checkbox.Foreground.Disabled": "#9ba0a3",
"Checkbox.Foreground.Disabled.Dark": "#9ba0a3",
"Checkbox.Background.Selected": "#F7F8FA",
"Checkbox.Background.Selected": "#79CB60",
"Checkbox.Background.Selected.Dark": "#F7F8FA",
"Checkbox.Border.Selected": "#79CB60",
"Checkbox.Border.Selected.Dark": "#79CB60",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#2AA298",
"Checkbox.Foreground.Disabled": "#93A1A1",
"Checkbox.Foreground.Disabled.Dark": "#93A1A1",
"Checkbox.Background.Selected": "#F0F0F0",
"Checkbox.Background.Selected": "#2AA298",
"Checkbox.Background.Selected.Dark": "#F0F0F0",
"Checkbox.Border.Selected": "#2AA298",
"Checkbox.Border.Selected.Dark": "#2AA298",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#2AA298",
"Checkbox.Foreground.Disabled": "#93A1A1",
"Checkbox.Foreground.Disabled.Dark": "#93A1A1",
"Checkbox.Background.Selected": "#F0F0F0",
"Checkbox.Background.Selected": "#2AA298",
"Checkbox.Background.Selected.Dark": "#F0F0F0",
"Checkbox.Border.Selected": "#2AA298",
"Checkbox.Border.Selected.Dark": "#2AA298",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#FF9800",
"Checkbox.Foreground.Disabled": "#474747",
"Checkbox.Foreground.Disabled.Dark": "#474747",
"Checkbox.Background.Selected": "#212121",
"Checkbox.Background.Selected": "#FF9800",
"Checkbox.Background.Selected.Dark": "#212121",
"Checkbox.Border.Selected": "#FF9800",
"Checkbox.Border.Selected.Dark": "#FF9800",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#FF9800",
"Checkbox.Foreground.Disabled": "#474747",
"Checkbox.Foreground.Disabled.Dark": "#474747",
"Checkbox.Background.Selected": "#212121",
"Checkbox.Background.Selected": "#FF9800",
"Checkbox.Background.Selected.Dark": "#212121",
"Checkbox.Border.Selected": "#FF9800",
"Checkbox.Border.Selected.Dark": "#FF9800",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#84ffff",
"Checkbox.Foreground.Disabled": "#464B5D",
"Checkbox.Foreground.Disabled.Dark": "#464B5D",
"Checkbox.Background.Selected": "#0F111A",
"Checkbox.Background.Selected": "#84ffff",
"Checkbox.Background.Selected.Dark": "#0F111A",
"Checkbox.Border.Selected": "#84ffff",
"Checkbox.Border.Selected.Dark": "#84ffff",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#84ffff",
"Checkbox.Foreground.Disabled": "#464B5D",
"Checkbox.Foreground.Disabled.Dark": "#464B5D",
"Checkbox.Background.Selected": "#0F111A",
"Checkbox.Background.Selected": "#84ffff",
"Checkbox.Background.Selected.Dark": "#0F111A",
"Checkbox.Border.Selected": "#84ffff",
"Checkbox.Border.Selected.Dark": "#84ffff",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#00BCD4",
"Checkbox.Foreground.Disabled": "#D2D4D5",
"Checkbox.Foreground.Disabled.Dark": "#D2D4D5",
"Checkbox.Background.Selected": "#FAFAFA",
"Checkbox.Background.Selected": "#00BCD4",
"Checkbox.Background.Selected.Dark": "#FAFAFA",
"Checkbox.Border.Selected": "#00BCD4",
"Checkbox.Border.Selected.Dark": "#00BCD4",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#00BCD4",
"Checkbox.Foreground.Disabled": "#D2D4D5",
"Checkbox.Foreground.Disabled.Dark": "#D2D4D5",
"Checkbox.Background.Selected": "#FAFAFA",
"Checkbox.Background.Selected": "#00BCD4",
"Checkbox.Background.Selected.Dark": "#FAFAFA",
"Checkbox.Border.Selected": "#00BCD4",
"Checkbox.Border.Selected.Dark": "#00BCD4",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#009688",
"Checkbox.Foreground.Disabled": "#415967",
"Checkbox.Foreground.Disabled.Dark": "#415967",
"Checkbox.Background.Selected": "#263238",
"Checkbox.Background.Selected": "#009688",
"Checkbox.Background.Selected.Dark": "#263238",
"Checkbox.Border.Selected": "#009688",
"Checkbox.Border.Selected.Dark": "#009688",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#009688",
"Checkbox.Foreground.Disabled": "#415967",
"Checkbox.Foreground.Disabled.Dark": "#415967",
"Checkbox.Background.Selected": "#263238",
"Checkbox.Background.Selected": "#009688",
"Checkbox.Background.Selected.Dark": "#263238",
"Checkbox.Border.Selected": "#009688",
"Checkbox.Border.Selected.Dark": "#009688",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#ab47bc",
"Checkbox.Foreground.Disabled": "#515772",
"Checkbox.Foreground.Disabled.Dark": "#515772",
"Checkbox.Background.Selected": "#292D3E",
"Checkbox.Background.Selected": "#ab47bc",
"Checkbox.Background.Selected.Dark": "#292D3E",
"Checkbox.Border.Selected": "#ab47bc",
"Checkbox.Border.Selected.Dark": "#ab47bc",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#ab47bc",
"Checkbox.Foreground.Disabled": "#515772",
"Checkbox.Foreground.Disabled.Dark": "#515772",
"Checkbox.Background.Selected": "#292D3E",
"Checkbox.Background.Selected": "#ab47bc",
"Checkbox.Background.Selected.Dark": "#292D3E",
"Checkbox.Border.Selected": "#ab47bc",
"Checkbox.Border.Selected.Dark": "#ab47bc",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#ffd866",
"Checkbox.Foreground.Disabled": "#5b595c",
"Checkbox.Foreground.Disabled.Dark": "#5b595c",
"Checkbox.Background.Selected": "#2D2A2E",
"Checkbox.Background.Selected": "#ffd866",
"Checkbox.Background.Selected.Dark": "#2D2A2E",
"Checkbox.Border.Selected": "#ffd866",
"Checkbox.Border.Selected.Dark": "#ffd866",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#ffd866",
"Checkbox.Foreground.Disabled": "#5b595c",
"Checkbox.Foreground.Disabled.Dark": "#5b595c",
"Checkbox.Background.Selected": "#2D2A2E",
"Checkbox.Background.Selected": "#ffd866",
"Checkbox.Background.Selected.Dark": "#2D2A2E",
"Checkbox.Border.Selected": "#ffd866",
"Checkbox.Border.Selected.Dark": "#ffd866",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#7e57c2",
"Checkbox.Foreground.Disabled": "#697098",
"Checkbox.Foreground.Disabled.Dark": "#697098",
"Checkbox.Background.Selected": "#011627",
"Checkbox.Background.Selected": "#7e57c2",
"Checkbox.Background.Selected.Dark": "#011627",
"Checkbox.Border.Selected": "#7e57c2",
"Checkbox.Border.Selected.Dark": "#7e57c2",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#7e57c2",
"Checkbox.Foreground.Disabled": "#697098",
"Checkbox.Foreground.Disabled.Dark": "#697098",
"Checkbox.Background.Selected": "#011627",
"Checkbox.Background.Selected": "#7e57c2",
"Checkbox.Background.Selected.Dark": "#011627",
"Checkbox.Border.Selected": "#7e57c2",
"Checkbox.Border.Selected.Dark": "#7e57c2",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#d33682",
"Checkbox.Foreground.Disabled": "#2E5861",
"Checkbox.Foreground.Disabled.Dark": "#2E5861",
"Checkbox.Background.Selected": "#002B36",
"Checkbox.Background.Selected": "#d33682",
"Checkbox.Background.Selected.Dark": "#002B36",
"Checkbox.Border.Selected": "#d33682",
"Checkbox.Border.Selected.Dark": "#d33682",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#d33682",
"Checkbox.Foreground.Disabled": "#2E5861",
"Checkbox.Foreground.Disabled.Dark": "#2E5861",
"Checkbox.Background.Selected": "#002B36",
"Checkbox.Background.Selected": "#d33682",
"Checkbox.Background.Selected.Dark": "#002B36",
"Checkbox.Border.Selected": "#d33682",
"Checkbox.Border.Selected.Dark": "#d33682",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#d33682",
"Checkbox.Foreground.Disabled": "#C9CCC3",
"Checkbox.Foreground.Disabled.Dark": "#C9CCC3",
"Checkbox.Background.Selected": "#fdf6e3",
"Checkbox.Background.Selected": "#d33682",
"Checkbox.Background.Selected.Dark": "#fdf6e3",
"Checkbox.Border.Selected": "#d33682",
"Checkbox.Border.Selected.Dark": "#d33682",

View File

@@ -850,7 +850,7 @@
"Checkbox.Focus.Wide.Dark": "#d33682",
"Checkbox.Foreground.Disabled": "#C9CCC3",
"Checkbox.Foreground.Disabled.Dark": "#C9CCC3",
"Checkbox.Background.Selected": "#fdf6e3",
"Checkbox.Background.Selected": "#d33682",
"Checkbox.Background.Selected.Dark": "#fdf6e3",
"Checkbox.Border.Selected": "#d33682",
"Checkbox.Border.Selected.Dark": "#d33682",

View File

@@ -5,7 +5,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* 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,

View File

@@ -26,7 +26,7 @@ build script:
groupId: com.formdev
artifactId: flatlaf-jide-oss
version: 0.25
version: (see button below)
Otherwise download `flatlaf-jide-oss-<version>.jar` here:

View File

@@ -5,7 +5,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* 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,
@@ -80,7 +80,7 @@ publishing {
licenses {
license {
name.set( "The Apache License, Version 2.0" )
url.set( "http://www.apache.org/licenses/LICENSE-2.0.txt" )
url.set( "https://www.apache.org/licenses/LICENSE-2.0.txt" )
}
}

View File

@@ -33,7 +33,7 @@ build script:
groupId: com.formdev
artifactId: flatlaf-swingx
version: 0.25
version: (see button below)
Otherwise download `flatlaf-swingx-<version>.jar` here:

View File

@@ -5,7 +5,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* 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,
@@ -80,7 +80,7 @@ publishing {
licenses {
license {
name.set( "The Apache License, Version 2.0" )
url.set( "http://www.apache.org/licenses/LICENSE-2.0.txt" )
url.set( "https://www.apache.org/licenses/LICENSE-2.0.txt" )
}
}

View File

@@ -5,7 +5,7 @@
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* 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,

View File

@@ -0,0 +1,339 @@
/*
* Copyright 2020 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 javax.swing.*;
import javax.swing.text.DefaultEditorKit;
import net.miginfocom.swing.*;
/**
* @author Karl Tauber
*/
public class FlatTextComponentsTest
extends FlatTestPanel
{
public static void main( String[] args ) {
SwingUtilities.invokeLater( () -> {
FlatTestFrame frame = FlatTestFrame.create( args, "FlatTextComponentsTest" );
frame.showFrame( FlatTextComponentsTest::new );
} );
}
FlatTextComponentsTest() {
initComponents();
}
private void changeText() {
textField1.setText( "new text" );
}
private void initComponents() {
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
JLabel textFieldLabel = new JLabel();
textField1 = new JTextField();
JTextField textField3 = new JTextField();
JTextField textField2 = new JTextField();
JButton button1 = new JButton();
JLabel formattedTextFieldLabel = new JLabel();
JFormattedTextField formattedTextField1 = new JFormattedTextField();
JFormattedTextField formattedTextField3 = new JFormattedTextField();
JLabel passwordFieldLabel = new JLabel();
JPasswordField passwordField1 = new JPasswordField();
JPasswordField passwordField3 = new JPasswordField();
JLabel textAreaLabel = new JLabel();
JScrollPane scrollPane1 = new JScrollPane();
JTextArea textArea1 = new JTextArea();
JScrollPane scrollPane3 = new JScrollPane();
JTextArea textArea3 = new JTextArea();
JLabel editorPaneLabel = new JLabel();
JScrollPane scrollPane5 = new JScrollPane();
JEditorPane editorPane1 = new JEditorPane();
JScrollPane scrollPane7 = new JScrollPane();
JEditorPane editorPane3 = new JEditorPane();
JLabel textPaneLabel = new JLabel();
JScrollPane scrollPane9 = new JScrollPane();
JTextPane textPane1 = new JTextPane();
JScrollPane scrollPane11 = new JScrollPane();
JTextPane textPane3 = new JTextPane();
JLabel comboBoxLabel = new JLabel();
JComboBox<String> comboBox1 = new JComboBox<>();
JComboBox<String> comboBox3 = new JComboBox<>();
JLabel spinnerLabel = new JLabel();
JSpinner spinner1 = new JSpinner();
JPopupMenu popupMenu1 = new JPopupMenu();
JMenuItem cutMenuItem = new JMenuItem();
JMenuItem copyMenuItem = new JMenuItem();
JMenuItem pasteMenuItem = new JMenuItem();
//======== this ========
setName("this");
setLayout(new MigLayout(
"ltr,insets dialog,hidemode 3",
// columns
"[]" +
"[]" +
"[::100]" +
"[100,fill]" +
"[fill]",
// rows
"[]" +
"[]" +
"[]" +
"[50,fill]" +
"[50,fill]" +
"[50,fill]" +
"[]" +
"[]"));
//---- textFieldLabel ----
textFieldLabel.setText("JTextField:");
textFieldLabel.setDisplayedMnemonic('T');
textFieldLabel.setLabelFor(textField1);
textFieldLabel.setName("textFieldLabel");
add(textFieldLabel, "cell 0 0");
//---- textField1 ----
textField1.setText("editable");
textField1.setComponentPopupMenu(popupMenu1);
textField1.setName("textField1");
add(textField1, "cell 1 0,growx");
//---- textField3 ----
textField3.setText("longer text for testing horizontal scrolling");
textField3.setComponentPopupMenu(popupMenu1);
textField3.setName("textField3");
add(textField3, "cell 2 0,growx");
//---- textField2 ----
textField2.setText("partly selected");
textField2.setSelectionStart(1);
textField2.setSelectionEnd(4);
textField2.setComponentPopupMenu(popupMenu1);
textField2.setName("textField2");
add(textField2, "cell 3 0");
//---- button1 ----
button1.setText("change text");
button1.setName("button1");
button1.addActionListener(e -> changeText());
add(button1, "cell 4 0");
//---- formattedTextFieldLabel ----
formattedTextFieldLabel.setText("JFormattedTextField:");
formattedTextFieldLabel.setDisplayedMnemonic('F');
formattedTextFieldLabel.setLabelFor(formattedTextField1);
formattedTextFieldLabel.setName("formattedTextFieldLabel");
add(formattedTextFieldLabel, "cell 0 1");
//---- formattedTextField1 ----
formattedTextField1.setText("editable");
formattedTextField1.setComponentPopupMenu(popupMenu1);
formattedTextField1.setName("formattedTextField1");
add(formattedTextField1, "cell 1 1,growx");
//---- formattedTextField3 ----
formattedTextField3.setText("longer text for testing horizontal scrolling");
formattedTextField3.setComponentPopupMenu(popupMenu1);
formattedTextField3.setName("formattedTextField3");
add(formattedTextField3, "cell 2 1,growx");
//---- passwordFieldLabel ----
passwordFieldLabel.setText("JPasswordField:");
passwordFieldLabel.setDisplayedMnemonic('P');
passwordFieldLabel.setLabelFor(passwordField1);
passwordFieldLabel.setName("passwordFieldLabel");
add(passwordFieldLabel, "cell 0 2");
//---- passwordField1 ----
passwordField1.setText("editable");
passwordField1.setComponentPopupMenu(popupMenu1);
passwordField1.setName("passwordField1");
add(passwordField1, "cell 1 2,growx");
//---- passwordField3 ----
passwordField3.setText("longer text for testing horizontal scrolling");
passwordField3.setComponentPopupMenu(popupMenu1);
passwordField3.setName("passwordField3");
add(passwordField3, "cell 2 2,growx");
//---- textAreaLabel ----
textAreaLabel.setText("JTextArea:");
textAreaLabel.setDisplayedMnemonic('A');
textAreaLabel.setLabelFor(textArea1);
textAreaLabel.setName("textAreaLabel");
add(textAreaLabel, "cell 0 3");
//======== scrollPane1 ========
{
scrollPane1.setName("scrollPane1");
//---- textArea1 ----
textArea1.setText("editable");
textArea1.setComponentPopupMenu(popupMenu1);
textArea1.setName("textArea1");
scrollPane1.setViewportView(textArea1);
}
add(scrollPane1, "cell 1 3,growx");
//======== scrollPane3 ========
{
scrollPane3.setName("scrollPane3");
//---- textArea3 ----
textArea3.setText("longer text for testing horizontal scrolling");
textArea3.setComponentPopupMenu(popupMenu1);
textArea3.setName("textArea3");
scrollPane3.setViewportView(textArea3);
}
add(scrollPane3, "cell 2 3,growx");
//---- editorPaneLabel ----
editorPaneLabel.setText("JEditorPane");
editorPaneLabel.setDisplayedMnemonic('J');
editorPaneLabel.setLabelFor(editorPane1);
editorPaneLabel.setName("editorPaneLabel");
add(editorPaneLabel, "cell 0 4");
//======== scrollPane5 ========
{
scrollPane5.setName("scrollPane5");
//---- editorPane1 ----
editorPane1.setText("editable");
editorPane1.setComponentPopupMenu(popupMenu1);
editorPane1.setName("editorPane1");
scrollPane5.setViewportView(editorPane1);
}
add(scrollPane5, "cell 1 4,growx");
//======== scrollPane7 ========
{
scrollPane7.setName("scrollPane7");
//---- editorPane3 ----
editorPane3.setText("longer text for testing horizontal scrolling");
editorPane3.setComponentPopupMenu(popupMenu1);
editorPane3.setName("editorPane3");
scrollPane7.setViewportView(editorPane3);
}
add(scrollPane7, "cell 2 4,growx");
//---- textPaneLabel ----
textPaneLabel.setText("JTextPane:");
textPaneLabel.setDisplayedMnemonic('N');
textPaneLabel.setLabelFor(textPane1);
textPaneLabel.setName("textPaneLabel");
add(textPaneLabel, "cell 0 5");
//======== scrollPane9 ========
{
scrollPane9.setName("scrollPane9");
//---- textPane1 ----
textPane1.setText("editable");
textPane1.setComponentPopupMenu(popupMenu1);
textPane1.setName("textPane1");
scrollPane9.setViewportView(textPane1);
}
add(scrollPane9, "cell 1 5,growx");
//======== scrollPane11 ========
{
scrollPane11.setName("scrollPane11");
//---- textPane3 ----
textPane3.setText("longer text for testing horizontal scrolling");
textPane3.setComponentPopupMenu(popupMenu1);
textPane3.setName("textPane3");
scrollPane11.setViewportView(textPane3);
}
add(scrollPane11, "cell 2 5,growx");
//---- comboBoxLabel ----
comboBoxLabel.setText("JComboBox:");
comboBoxLabel.setDisplayedMnemonic('C');
comboBoxLabel.setLabelFor(comboBox1);
comboBoxLabel.setName("comboBoxLabel");
add(comboBoxLabel, "cell 0 6");
//---- comboBox1 ----
comboBox1.setEditable(true);
comboBox1.setModel(new DefaultComboBoxModel<>(new String[] {
"editable",
"a",
"bb",
"ccc"
}));
comboBox1.setComponentPopupMenu(popupMenu1);
comboBox1.setName("comboBox1");
add(comboBox1, "cell 1 6,growx");
//---- comboBox3 ----
comboBox3.setModel(new DefaultComboBoxModel<>(new String[] {
"longer text for testing horizontal scrolling",
"a",
"bb",
"ccc"
}));
comboBox3.setEditable(true);
comboBox3.setPrototypeDisplayValue("12345");
comboBox3.setComponentPopupMenu(popupMenu1);
comboBox3.setName("comboBox3");
add(comboBox3, "cell 2 6,growx");
//---- spinnerLabel ----
spinnerLabel.setText("JSpinner:");
spinnerLabel.setDisplayedMnemonic('S');
spinnerLabel.setLabelFor(spinner1);
spinnerLabel.setName("spinnerLabel");
add(spinnerLabel, "cell 0 7");
//---- spinner1 ----
spinner1.setComponentPopupMenu(popupMenu1);
spinner1.setName("spinner1");
add(spinner1, "cell 1 7,growx");
//======== popupMenu1 ========
{
popupMenu1.setName("popupMenu1");
//---- cutMenuItem ----
cutMenuItem.setText("Cut");
cutMenuItem.setName("cutMenuItem");
popupMenu1.add(cutMenuItem);
//---- copyMenuItem ----
copyMenuItem.setText("Copy");
copyMenuItem.setName("copyMenuItem");
popupMenu1.add(copyMenuItem);
//---- pasteMenuItem ----
pasteMenuItem.setText("Paste");
pasteMenuItem.setName("pasteMenuItem");
popupMenu1.add(pasteMenuItem);
}
// JFormDesigner - End of component initialization //GEN-END:initComponents
cutMenuItem.addActionListener( new DefaultEditorKit.CutAction() );
copyMenuItem.addActionListener( new DefaultEditorKit.CopyAction() );
pasteMenuItem.addActionListener( new DefaultEditorKit.PasteAction() );
}
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
private JTextField textField1;
// JFormDesigner - End of variables declaration //GEN-END:variables
}

View File

@@ -0,0 +1,259 @@
JFDML JFormDesigner: "7.0.0.0.194" Java: "13.0.1" encoding: "UTF-8"
new FormModel {
contentType: "form/swing"
root: new FormRoot {
"$setComponentNames": true
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": "[][][::100][100,fill][fill]"
"$rowConstraints": "[][][][50,fill][50,fill][50,fill][][]"
} ) {
name: "this"
add( new FormComponent( "javax.swing.JLabel" ) {
name: "textFieldLabel"
"text": "JTextField:"
"displayedMnemonic": 84
"labelFor": new FormReference( "textField1" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 0"
} )
add( new FormComponent( "javax.swing.JTextField" ) {
name: "textField1"
"text": "editable"
"componentPopupMenu": &FormReference0 new FormReference( "popupMenu1" )
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 0,growx"
} )
add( new FormComponent( "javax.swing.JTextField" ) {
name: "textField3"
"text": "longer text for testing horizontal scrolling"
"componentPopupMenu": #FormReference0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 0,growx"
} )
add( new FormComponent( "javax.swing.JTextField" ) {
name: "textField2"
"text": "partly selected"
"selectionStart": 1
"selectionEnd": 4
"componentPopupMenu": #FormReference0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 3 0"
} )
add( new FormComponent( "javax.swing.JButton" ) {
name: "button1"
"text": "change text"
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "changeText", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 0"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "formattedTextFieldLabel"
"text": "JFormattedTextField:"
"displayedMnemonic": 70
"labelFor": new FormReference( "formattedTextField1" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 1"
} )
add( new FormComponent( "javax.swing.JFormattedTextField" ) {
name: "formattedTextField1"
"text": "editable"
"componentPopupMenu": #FormReference0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 1,growx"
} )
add( new FormComponent( "javax.swing.JFormattedTextField" ) {
name: "formattedTextField3"
"text": "longer text for testing horizontal scrolling"
"componentPopupMenu": #FormReference0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 1,growx"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "passwordFieldLabel"
"text": "JPasswordField:"
"displayedMnemonic": 80
"labelFor": new FormReference( "passwordField1" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 2"
} )
add( new FormComponent( "javax.swing.JPasswordField" ) {
name: "passwordField1"
"text": "editable"
"componentPopupMenu": #FormReference0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 2,growx"
} )
add( new FormComponent( "javax.swing.JPasswordField" ) {
name: "passwordField3"
"text": "longer text for testing horizontal scrolling"
"componentPopupMenu": #FormReference0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 2,growx"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "textAreaLabel"
"text": "JTextArea:"
"displayedMnemonic": 65
"labelFor": new FormReference( "textArea1" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 3"
} )
add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
name: "scrollPane1"
add( new FormComponent( "javax.swing.JTextArea" ) {
name: "textArea1"
"text": "editable"
"componentPopupMenu": #FormReference0
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 3,growx"
} )
add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
name: "scrollPane3"
add( new FormComponent( "javax.swing.JTextArea" ) {
name: "textArea3"
"text": "longer text for testing horizontal scrolling"
"componentPopupMenu": #FormReference0
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 3,growx"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "editorPaneLabel"
"text": "JEditorPane"
"displayedMnemonic": 74
"labelFor": new FormReference( "editorPane1" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 4"
} )
add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
name: "scrollPane5"
add( new FormComponent( "javax.swing.JEditorPane" ) {
name: "editorPane1"
"text": "editable"
"componentPopupMenu": #FormReference0
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 4,growx"
} )
add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
name: "scrollPane7"
add( new FormComponent( "javax.swing.JEditorPane" ) {
name: "editorPane3"
"text": "longer text for testing horizontal scrolling"
"componentPopupMenu": #FormReference0
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 4,growx"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "textPaneLabel"
"text": "JTextPane:"
"displayedMnemonic": 78
"labelFor": new FormReference( "textPane1" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 5"
} )
add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
name: "scrollPane9"
add( new FormComponent( "javax.swing.JTextPane" ) {
name: "textPane1"
"text": "editable"
"componentPopupMenu": #FormReference0
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 5,growx"
} )
add( new FormContainer( "javax.swing.JScrollPane", new FormLayoutManager( class javax.swing.JScrollPane ) ) {
name: "scrollPane11"
add( new FormComponent( "javax.swing.JTextPane" ) {
name: "textPane3"
"text": "longer text for testing horizontal scrolling"
"componentPopupMenu": #FormReference0
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 5,growx"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "comboBoxLabel"
"text": "JComboBox:"
"displayedMnemonic": 67
"labelFor": new FormReference( "comboBox1" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 6"
} )
add( new FormComponent( "javax.swing.JComboBox" ) {
name: "comboBox1"
"editable": true
"model": new javax.swing.DefaultComboBoxModel {
selectedItem: "editable"
addElement( "editable" )
addElement( "a" )
addElement( "bb" )
addElement( "ccc" )
}
"componentPopupMenu": #FormReference0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 6,growx"
} )
add( new FormComponent( "javax.swing.JComboBox" ) {
name: "comboBox3"
"model": new javax.swing.DefaultComboBoxModel {
selectedItem: "longer text for testing horizontal scrolling"
addElement( "longer text for testing horizontal scrolling" )
addElement( "a" )
addElement( "bb" )
addElement( "ccc" )
}
"editable": true
"prototypeDisplayValue": "12345"
"componentPopupMenu": #FormReference0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 6,growx"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "spinnerLabel"
"text": "JSpinner:"
"displayedMnemonic": 83
"labelFor": new FormReference( "spinner1" )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 7"
} )
add( new FormComponent( "javax.swing.JSpinner" ) {
name: "spinner1"
"componentPopupMenu": #FormReference0
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 7,growx"
} )
}, new FormLayoutConstraints( null ) {
"location": new java.awt.Point( 0, 0 )
"size": new java.awt.Dimension( 530, 340 )
} )
add( new FormContainer( "javax.swing.JPopupMenu", new FormLayoutManager( class javax.swing.JPopupMenu ) ) {
name: "popupMenu1"
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "cutMenuItem"
"text": "Cut"
} )
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "copyMenuItem"
"text": "Copy"
} )
add( new FormComponent( "javax.swing.JMenuItem" ) {
name: "pasteMenuItem"
"text": "Paste"
} )
}, new FormLayoutConstraints( null ) {
"location": new java.awt.Point( 0, 390 )
"size": new java.awt.Dimension( 91, 87 )
} )
}
}

View File

@@ -24,6 +24,7 @@
@selectionInactiveForeground=#ffffff
@disabledText=#000088
@textComponentBackground=#ffffff
@menuBackground=#fff
@cellFocusColor=#ff0000
@icon=#afafaf
@@ -157,6 +158,7 @@ Menu.icon.disabledArrowColor=#ABABAB
#---- MenuBar ----
MenuBar.borderColor=#4444ff
MenuBar.hoverBackground=#fdd
#---- MenuItemCheckBox ----

Binary file not shown.

View File

@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

29
gradlew vendored
View File

@@ -154,19 +154,19 @@ if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
i=`expr $i + 1`
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
@@ -175,14 +175,9 @@ save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
APP_ARGS=`save "$@"`
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"