diff --git a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatComboBox.java b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatComboBox.java index 22312042..316484cf 100644 --- a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatComboBox.java +++ b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatComboBox.java @@ -41,4 +41,34 @@ public class FlatComboBox public void setPlaceholderText( String placeholderText ) { putClientProperty( PLACEHOLDER_TEXT, placeholderText ); } + + + /** + * Returns minimum width of a component. + */ + public int getMinimumWidth() { + return getClientPropertyInt( MINIMUM_WIDTH, "ComboBox.minimumWidth" ); + } + + /** + * Specifies minimum width of a component. + */ + public void setMinimumWidth( int minimumWidth ) { + putClientProperty( MINIMUM_WIDTH, (minimumWidth >= 0) ? minimumWidth : null ); + } + + + /** + * Returns whether the component is painted with round edges. + */ + public boolean isRoundRect() { + return getClientPropertyBoolean( COMPONENT_ROUND_RECT, false ); + } + + /** + * Specifies whether the component is painted with round edges. + */ + public void setRoundRect( boolean roundRect ) { + putClientPropertyBoolean( COMPONENT_ROUND_RECT, roundRect, false ); + } } diff --git a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatEditorPane.java b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatEditorPane.java new file mode 100644 index 00000000..403ccb43 --- /dev/null +++ b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatEditorPane.java @@ -0,0 +1,44 @@ +/* + * 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.extras.components; + +import static com.formdev.flatlaf.FlatClientProperties.*; +import javax.swing.JEditorPane; + +/** + * Subclass of {@link JEditorPane} that provides easy access to FlatLaf specific client properties. + * + * @author Karl Tauber + */ +public class FlatEditorPane + extends JEditorPane + implements FlatComponentExtension +{ + /** + * Returns minimum width of a component. + */ + public int getMinimumWidth() { + return getClientPropertyInt( MINIMUM_WIDTH, "Component.minimumWidth" ); + } + + /** + * Specifies minimum width of a component. + */ + public void setMinimumWidth( int minimumWidth ) { + putClientProperty( MINIMUM_WIDTH, (minimumWidth >= 0) ? minimumWidth : null ); + } +} diff --git a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatFormattedTextField.java b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatFormattedTextField.java index 68cde840..f481f5cc 100644 --- a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatFormattedTextField.java +++ b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatFormattedTextField.java @@ -58,4 +58,34 @@ public class FlatFormattedTextField public void setSelectAllOnFocusPolicy( SelectAllOnFocusPolicy selectAllOnFocusPolicy ) { putClientPropertyEnumString( SELECT_ALL_ON_FOCUS_POLICY, selectAllOnFocusPolicy ); } + + + /** + * Returns minimum width of a component. + */ + public int getMinimumWidth() { + return getClientPropertyInt( MINIMUM_WIDTH, "Component.minimumWidth" ); + } + + /** + * Specifies minimum width of a component. + */ + public void setMinimumWidth( int minimumWidth ) { + putClientProperty( MINIMUM_WIDTH, (minimumWidth >= 0) ? minimumWidth : null ); + } + + + /** + * Returns whether the component is painted with round edges. + */ + public boolean isRoundRect() { + return getClientPropertyBoolean( COMPONENT_ROUND_RECT, false ); + } + + /** + * Specifies whether the component is painted with round edges. + */ + public void setRoundRect( boolean roundRect ) { + putClientPropertyBoolean( COMPONENT_ROUND_RECT, roundRect, false ); + } } diff --git a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatPasswordField.java b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatPasswordField.java index e4088ade..a5ba8c17 100644 --- a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatPasswordField.java +++ b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatPasswordField.java @@ -58,4 +58,34 @@ public class FlatPasswordField public void setSelectAllOnFocusPolicy( SelectAllOnFocusPolicy selectAllOnFocusPolicy ) { putClientPropertyEnumString( SELECT_ALL_ON_FOCUS_POLICY, selectAllOnFocusPolicy ); } + + + /** + * Returns minimum width of a component. + */ + public int getMinimumWidth() { + return getClientPropertyInt( MINIMUM_WIDTH, "Component.minimumWidth" ); + } + + /** + * Specifies minimum width of a component. + */ + public void setMinimumWidth( int minimumWidth ) { + putClientProperty( MINIMUM_WIDTH, (minimumWidth >= 0) ? minimumWidth : null ); + } + + + /** + * Returns whether the component is painted with round edges. + */ + public boolean isRoundRect() { + return getClientPropertyBoolean( COMPONENT_ROUND_RECT, false ); + } + + /** + * Specifies whether the component is painted with round edges. + */ + public void setRoundRect( boolean roundRect ) { + putClientPropertyBoolean( COMPONENT_ROUND_RECT, roundRect, false ); + } } diff --git a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatSpinner.java b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatSpinner.java new file mode 100644 index 00000000..109a7ecf --- /dev/null +++ b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatSpinner.java @@ -0,0 +1,59 @@ +/* + * 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.extras.components; + +import static com.formdev.flatlaf.FlatClientProperties.*; +import javax.swing.JSpinner; + +/** + * Subclass of {@link JSpinner} that provides easy access to FlatLaf specific client properties. + * + * @author Karl Tauber + */ +public class FlatSpinner + extends JSpinner + implements FlatComponentExtension +{ + /** + * Returns minimum width of a component. + */ + public int getMinimumWidth() { + return getClientPropertyInt( MINIMUM_WIDTH, "Component.minimumWidth" ); + } + + /** + * Specifies minimum width of a component. + */ + public void setMinimumWidth( int minimumWidth ) { + putClientProperty( MINIMUM_WIDTH, (minimumWidth >= 0) ? minimumWidth : null ); + } + + + /** + * Returns whether the component is painted with round edges. + */ + public boolean isRoundRect() { + return getClientPropertyBoolean( COMPONENT_ROUND_RECT, false ); + } + + /** + * Specifies whether the component is painted with round edges. + */ + public void setRoundRect( boolean roundRect ) { + putClientPropertyBoolean( COMPONENT_ROUND_RECT, roundRect, false ); + } +} diff --git a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatTextArea.java b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatTextArea.java new file mode 100644 index 00000000..a0568d97 --- /dev/null +++ b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatTextArea.java @@ -0,0 +1,44 @@ +/* + * 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.extras.components; + +import static com.formdev.flatlaf.FlatClientProperties.*; +import javax.swing.JTextArea; + +/** + * Subclass of {@link JTextArea} that provides easy access to FlatLaf specific client properties. + * + * @author Karl Tauber + */ +public class FlatTextArea + extends JTextArea + implements FlatComponentExtension +{ + /** + * Returns minimum width of a component. + */ + public int getMinimumWidth() { + return getClientPropertyInt( MINIMUM_WIDTH, "Component.minimumWidth" ); + } + + /** + * Specifies minimum width of a component. + */ + public void setMinimumWidth( int minimumWidth ) { + putClientProperty( MINIMUM_WIDTH, (minimumWidth >= 0) ? minimumWidth : null ); + } +} diff --git a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatTextField.java b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatTextField.java index f3750be9..7604c093 100644 --- a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatTextField.java +++ b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatTextField.java @@ -60,4 +60,34 @@ public class FlatTextField public void setSelectAllOnFocusPolicy( SelectAllOnFocusPolicy selectAllOnFocusPolicy ) { putClientPropertyEnumString( SELECT_ALL_ON_FOCUS_POLICY, selectAllOnFocusPolicy ); } + + + /** + * Returns minimum width of a component. + */ + public int getMinimumWidth() { + return getClientPropertyInt( MINIMUM_WIDTH, "Component.minimumWidth" ); + } + + /** + * Specifies minimum width of a component. + */ + public void setMinimumWidth( int minimumWidth ) { + putClientProperty( MINIMUM_WIDTH, (minimumWidth >= 0) ? minimumWidth : null ); + } + + + /** + * Returns whether the component is painted with round edges. + */ + public boolean isRoundRect() { + return getClientPropertyBoolean( COMPONENT_ROUND_RECT, false ); + } + + /** + * Specifies whether the component is painted with round edges. + */ + public void setRoundRect( boolean roundRect ) { + putClientPropertyBoolean( COMPONENT_ROUND_RECT, roundRect, false ); + } } diff --git a/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatTextPane.java b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatTextPane.java new file mode 100644 index 00000000..4660068a --- /dev/null +++ b/flatlaf-extras/src/main/java/com/formdev/flatlaf/extras/components/FlatTextPane.java @@ -0,0 +1,44 @@ +/* + * 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.extras.components; + +import static com.formdev.flatlaf.FlatClientProperties.*; +import javax.swing.JTextPane; + +/** + * Subclass of {@link JTextPane} that provides easy access to FlatLaf specific client properties. + * + * @author Karl Tauber + */ +public class FlatTextPane + extends JTextPane + implements FlatComponentExtension +{ + /** + * Returns minimum width of a component. + */ + public int getMinimumWidth() { + return getClientPropertyInt( MINIMUM_WIDTH, "Component.minimumWidth" ); + } + + /** + * Specifies minimum width of a component. + */ + public void setMinimumWidth( int minimumWidth ) { + putClientProperty( MINIMUM_WIDTH, (minimumWidth >= 0) ? minimumWidth : null ); + } +}