Extras: added support for JComponent.outline client property (issue #117)

This commit is contained in:
Karl Tauber
2020-12-12 13:59:58 +01:00
parent 42a91ba26c
commit 11f9740dbf
10 changed files with 219 additions and 9 deletions

View File

@@ -17,6 +17,7 @@
package com.formdev.flatlaf.extras.components;
import static com.formdev.flatlaf.FlatClientProperties.*;
import java.awt.Color;
import javax.swing.JButton;
/**
@@ -91,4 +92,29 @@ public class FlatButton
public void setMinimumHeight( int minimumHeight ) {
putClientProperty( MINIMUM_HEIGHT, (minimumHeight >= 0) ? minimumHeight : null );
}
/**
* Returns the outline color of the component border.
*/
public Object getOutline() {
return getClientProperty( OUTLINE );
}
/**
* Specifies the outline color of the component border.
* <p>
* Allowed Values are:
* <ul>
* <li>{@code null}
* <li>string {@code "error"}
* <li>string {@code "warning"}
* <li>any color (type {@link Color})
* <li>an array of two colors (type {@link Color}[2]) where the first color
* is for focused state and the second for unfocused state
* </ul>
*/
public void setOutline( Object outline ) {
putClientProperty( OUTLINE, outline );
}
}

View File

@@ -17,6 +17,7 @@
package com.formdev.flatlaf.extras.components;
import static com.formdev.flatlaf.FlatClientProperties.*;
import java.awt.Color;
import javax.swing.JComboBox;
/**
@@ -71,4 +72,29 @@ public class FlatComboBox<E>
public void setRoundRect( boolean roundRect ) {
putClientPropertyBoolean( COMPONENT_ROUND_RECT, roundRect, false );
}
/**
* Returns the outline color of the component border.
*/
public Object getOutline() {
return getClientProperty( OUTLINE );
}
/**
* Specifies the outline color of the component border.
* <p>
* Allowed Values are:
* <ul>
* <li>{@code null}
* <li>string {@code "error"}
* <li>string {@code "warning"}
* <li>any color (type {@link Color})
* <li>an array of two colors (type {@link Color}[2]) where the first color
* is for focused state and the second for unfocused state
* </ul>
*/
public void setOutline( Object outline ) {
putClientProperty( OUTLINE, outline );
}
}

View File

@@ -17,6 +17,7 @@
package com.formdev.flatlaf.extras.components;
import static com.formdev.flatlaf.FlatClientProperties.*;
import java.awt.Color;
import javax.swing.JFormattedTextField;
import com.formdev.flatlaf.extras.components.FlatTextField.SelectAllOnFocusPolicy;
@@ -88,4 +89,29 @@ public class FlatFormattedTextField
public void setRoundRect( boolean roundRect ) {
putClientPropertyBoolean( COMPONENT_ROUND_RECT, roundRect, false );
}
/**
* Returns the outline color of the component border.
*/
public Object getOutline() {
return getClientProperty( OUTLINE );
}
/**
* Specifies the outline color of the component border.
* <p>
* Allowed Values are:
* <ul>
* <li>{@code null}
* <li>string {@code "error"}
* <li>string {@code "warning"}
* <li>any color (type {@link Color})
* <li>an array of two colors (type {@link Color}[2]) where the first color
* is for focused state and the second for unfocused state
* </ul>
*/
public void setOutline( Object outline ) {
putClientProperty( OUTLINE, outline );
}
}

View File

@@ -17,6 +17,7 @@
package com.formdev.flatlaf.extras.components;
import static com.formdev.flatlaf.FlatClientProperties.*;
import java.awt.Color;
import javax.swing.JPasswordField;
import com.formdev.flatlaf.extras.components.FlatTextField.SelectAllOnFocusPolicy;
@@ -88,4 +89,29 @@ public class FlatPasswordField
public void setRoundRect( boolean roundRect ) {
putClientPropertyBoolean( COMPONENT_ROUND_RECT, roundRect, false );
}
/**
* Returns the outline color of the component border.
*/
public Object getOutline() {
return getClientProperty( OUTLINE );
}
/**
* Specifies the outline color of the component border.
* <p>
* Allowed Values are:
* <ul>
* <li>{@code null}
* <li>string {@code "error"}
* <li>string {@code "warning"}
* <li>any color (type {@link Color})
* <li>an array of two colors (type {@link Color}[2]) where the first color
* is for focused state and the second for unfocused state
* </ul>
*/
public void setOutline( Object outline ) {
putClientProperty( OUTLINE, outline );
}
}

View File

@@ -17,6 +17,7 @@
package com.formdev.flatlaf.extras.components;
import static com.formdev.flatlaf.FlatClientProperties.*;
import java.awt.Color;
import javax.swing.JScrollPane;
/**
@@ -56,4 +57,29 @@ public class FlatScrollPane
public void setSmoothScrolling( boolean smoothScrolling ) {
putClientProperty( SCROLL_PANE_SMOOTH_SCROLLING, smoothScrolling );
}
/**
* Returns the outline color of the component border.
*/
public Object getOutline() {
return getClientProperty( OUTLINE );
}
/**
* Specifies the outline color of the component border.
* <p>
* Allowed Values are:
* <ul>
* <li>{@code null}
* <li>string {@code "error"}
* <li>string {@code "warning"}
* <li>any color (type {@link Color})
* <li>an array of two colors (type {@link Color}[2]) where the first color
* is for focused state and the second for unfocused state
* </ul>
*/
public void setOutline( Object outline ) {
putClientProperty( OUTLINE, outline );
}
}

View File

@@ -17,6 +17,7 @@
package com.formdev.flatlaf.extras.components;
import static com.formdev.flatlaf.FlatClientProperties.*;
import java.awt.Color;
import javax.swing.JSpinner;
/**
@@ -56,4 +57,29 @@ public class FlatSpinner
public void setRoundRect( boolean roundRect ) {
putClientPropertyBoolean( COMPONENT_ROUND_RECT, roundRect, false );
}
/**
* Returns the outline color of the component border.
*/
public Object getOutline() {
return getClientProperty( OUTLINE );
}
/**
* Specifies the outline color of the component border.
* <p>
* Allowed Values are:
* <ul>
* <li>{@code null}
* <li>string {@code "error"}
* <li>string {@code "warning"}
* <li>any color (type {@link Color})
* <li>an array of two colors (type {@link Color}[2]) where the first color
* is for focused state and the second for unfocused state
* </ul>
*/
public void setOutline( Object outline ) {
putClientProperty( OUTLINE, outline );
}
}

View File

@@ -17,6 +17,7 @@
package com.formdev.flatlaf.extras.components;
import static com.formdev.flatlaf.FlatClientProperties.*;
import java.awt.Color;
import javax.swing.JTextField;
/**
@@ -90,4 +91,29 @@ public class FlatTextField
public void setRoundRect( boolean roundRect ) {
putClientPropertyBoolean( COMPONENT_ROUND_RECT, roundRect, false );
}
/**
* Returns the outline color of the component border.
*/
public Object getOutline() {
return getClientProperty( OUTLINE );
}
/**
* Specifies the outline color of the component border.
* <p>
* Allowed Values are:
* <ul>
* <li>{@code null}
* <li>string {@code "error"}
* <li>string {@code "warning"}
* <li>any color (type {@link Color})
* <li>an array of two colors (type {@link Color}[2]) where the first color
* is for focused state and the second for unfocused state
* </ul>
*/
public void setOutline( Object outline ) {
putClientProperty( OUTLINE, outline );
}
}

View File

@@ -92,6 +92,31 @@ public class FlatToggleButton
}
/**
* Returns the outline color of the component border.
*/
public Object getOutline() {
return getClientProperty( OUTLINE );
}
/**
* Specifies the outline color of the component border.
* <p>
* Allowed Values are:
* <ul>
* <li>{@code null}
* <li>string {@code "error"}
* <li>string {@code "warning"}
* <li>any color (type {@link Color})
* <li>an array of two colors (type {@link Color}[2]) where the first color
* is for focused state and the second for unfocused state
* </ul>
*/
public void setOutline( Object outline ) {
putClientProperty( OUTLINE, outline );
}
/**
* Returns height of underline if toggle button type is {@link ButtonType#tab}.
*/