JIDE: support JideButton and JideToggleButton

This commit is contained in:
Karl Tauber
2021-03-16 22:15:32 +01:00
parent 07db6e8fb0
commit beff149004
17 changed files with 681 additions and 36 deletions

View File

@@ -618,7 +618,7 @@ public class FlatTestFrame
sizeVariantComboBox.setVisible( visible );
}
void updateComponentsRecur( Container container, BiConsumer<Component, String> action ) {
public void updateComponentsRecur( Container container, BiConsumer<Component, String> action ) {
for( Component c : container.getComponents() ) {
if( c instanceof JPanel || c instanceof JDesktopPane ) {
updateComponentsRecur( (Container) c, action );

View File

@@ -21,6 +21,7 @@ import java.awt.event.*;
import javax.swing.*;
import com.formdev.flatlaf.testing.*;
import com.formdev.flatlaf.testing.FlatTestFrame;
import com.formdev.flatlaf.util.ScaledImageIcon;
import com.jidesoft.popup.JidePopup;
import com.jidesoft.swing.*;
import net.miginfocom.swing.*;
@@ -77,6 +78,41 @@ public class FlatJideOssTest
triStateLabel1.setText( text );
}
private void verticalChanged() {
FlatTestFrame frame = (FlatTestFrame) SwingUtilities.getAncestorOfClass( FlatTestFrame.class, this );
if( frame == null )
return;
int orientation = verticalCheckBox.isSelected()
? SwingUtilities.VERTICAL
: SwingUtilities.HORIZONTAL;
frame.updateComponentsRecur( this, (c, type) -> {
if( c instanceof JideButton )
((JideButton)c).setOrientation( orientation );
} );
revalidate();
}
private void iconChanged() {
FlatTestFrame frame = (FlatTestFrame) SwingUtilities.getAncestorOfClass( FlatTestFrame.class, this );
if( frame == null )
return;
Icon icon = iconCheckBox.isSelected()
? new ScaledImageIcon( new ImageIcon(getClass().getResource(
"/com/formdev/flatlaf/testing/test16.png" ) ) )
: null;
frame.updateComponentsRecur( this, (c, type) -> {
if( c instanceof JideButton )
((JideButton)c).setIcon( icon );
} );
revalidate();
}
private void initComponents() {
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
JLabel jidePopupLabel = new JLabel();
@@ -86,17 +122,56 @@ public class FlatJideOssTest
JLabel label9 = new JLabel();
tristateCheckBox1 = new TristateCheckBox();
triStateLabel1 = new JLabel();
JLabel jideButtonLabel = new JLabel();
JideButton jideButton1 = new JideButton();
JideButton jideButton2 = new JideButton();
JideButton jideButton3 = new JideButton();
JideButton jideButton4 = new JideButton();
JToolBar toolBar1 = new JToolBar();
JideButton jideButton9 = new JideButton();
JButton button1 = new JButton();
verticalCheckBox = new JCheckBox();
JLabel label1 = new JLabel();
JideButton jideButton5 = new JideButton();
JideButton jideButton6 = new JideButton();
JideButton jideButton7 = new JideButton();
JideButton jideButton8 = new JideButton();
JToolBar toolBar2 = new JToolBar();
JideButton jideButton10 = new JideButton();
iconCheckBox = new JCheckBox();
JLabel jideToggleButtonLabel = new JLabel();
JideToggleButton jideToggleButton1 = new JideToggleButton();
JideToggleButton jideToggleButton2 = new JideToggleButton();
JideToggleButton jideToggleButton3 = new JideToggleButton();
JideToggleButton jideToggleButton4 = new JideToggleButton();
JToolBar toolBar3 = new JToolBar();
JideToggleButton jideToggleButton9 = new JideToggleButton();
JToggleButton toggleButton1 = new JToggleButton();
JLabel label2 = new JLabel();
JideToggleButton jideToggleButton5 = new JideToggleButton();
JideToggleButton jideToggleButton6 = new JideToggleButton();
JideToggleButton jideToggleButton7 = new JideToggleButton();
JideToggleButton jideToggleButton8 = new JideToggleButton();
JToolBar toolBar4 = new JToolBar();
JideToggleButton jideToggleButton10 = new JideToggleButton();
JToggleButton toggleButton2 = new JToggleButton();
//======== this ========
setLayout(new MigLayout(
"insets dialog,hidemode 3",
// columns
"[]" +
"[left]" +
"[fill]" +
"[fill]" +
"[fill]",
// rows
"[]" +
"[]" +
"[]para" +
"[]" +
"[]" +
"[]" +
"[]"));
//---- jidePopupLabel ----
@@ -106,7 +181,7 @@ public class FlatJideOssTest
//---- showJidePopupButton ----
showJidePopupButton.setText("show JidePopup");
showJidePopupButton.addActionListener(e -> showJidePopup(e));
add(showJidePopupButton, "cell 1 0");
add(showJidePopupButton, "cell 1 0,growx");
//---- jidePopupMenuLabel ----
jidePopupMenuLabel.setText("JidePopupMenu:");
@@ -115,7 +190,7 @@ public class FlatJideOssTest
//---- showJidePopupMenuButton ----
showJidePopupMenuButton.setText("show JidePopupMenu");
showJidePopupMenuButton.addActionListener(e -> showJidePopupMenu(e));
add(showJidePopupMenuButton, "cell 1 1");
add(showJidePopupMenuButton, "cell 1 1,growx");
//---- label9 ----
label9.setText("TristateCheckBox:");
@@ -130,11 +205,176 @@ public class FlatJideOssTest
triStateLabel1.setText("text");
triStateLabel1.setEnabled(false);
add(triStateLabel1, "cell 2 2");
//---- jideButtonLabel ----
jideButtonLabel.setText("JideButton:");
add(jideButtonLabel, "cell 0 3");
//---- jideButton1 ----
jideButton1.setText("TOOLBAR");
add(jideButton1, "cell 1 3 3 1");
//---- jideButton2 ----
jideButton2.setText("TOOLBOX");
jideButton2.setButtonStyle(1);
add(jideButton2, "cell 1 3 3 1");
//---- jideButton3 ----
jideButton3.setText("FLAT");
jideButton3.setButtonStyle(2);
add(jideButton3, "cell 1 3 3 1");
//---- jideButton4 ----
jideButton4.setText("HYPERLINK");
jideButton4.setButtonStyle(3);
add(jideButton4, "cell 1 3 3 1");
//======== toolBar1 ========
{
//---- jideButton9 ----
jideButton9.setText("JideButton");
toolBar1.add(jideButton9);
//---- button1 ----
button1.setText("JButton");
toolBar1.add(button1);
}
add(toolBar1, "cell 1 3 3 1");
//---- verticalCheckBox ----
verticalCheckBox.setText("vertical");
verticalCheckBox.addActionListener(e -> verticalChanged());
add(verticalCheckBox, "cell 4 3");
//---- label1 ----
label1.setText("selected");
label1.setEnabled(false);
add(label1, "cell 0 4,alignx right,growx 0");
//---- jideButton5 ----
jideButton5.setText("TOOLBAR");
jideButton5.setSelected(true);
add(jideButton5, "cell 1 4 3 1");
//---- jideButton6 ----
jideButton6.setText("TOOLBOX");
jideButton6.setButtonStyle(1);
jideButton6.setSelected(true);
add(jideButton6, "cell 1 4 3 1");
//---- jideButton7 ----
jideButton7.setText("FLAT");
jideButton7.setButtonStyle(2);
jideButton7.setSelected(true);
add(jideButton7, "cell 1 4 3 1");
//---- jideButton8 ----
jideButton8.setText("HYPERLINK");
jideButton8.setButtonStyle(3);
jideButton8.setSelected(true);
add(jideButton8, "cell 1 4 3 1");
//======== toolBar2 ========
{
//---- jideButton10 ----
jideButton10.setText("JideButton");
jideButton10.setSelected(true);
toolBar2.add(jideButton10);
}
add(toolBar2, "cell 1 4 3 1");
//---- iconCheckBox ----
iconCheckBox.setText("icon");
iconCheckBox.addActionListener(e -> iconChanged());
add(iconCheckBox, "cell 4 4");
//---- jideToggleButtonLabel ----
jideToggleButtonLabel.setText("JideToggleButton:");
add(jideToggleButtonLabel, "cell 0 5");
//---- jideToggleButton1 ----
jideToggleButton1.setText("TOOLBAR");
add(jideToggleButton1, "cell 1 5 3 1");
//---- jideToggleButton2 ----
jideToggleButton2.setText("TOOLBOX");
jideToggleButton2.setButtonStyle(1);
add(jideToggleButton2, "cell 1 5 3 1");
//---- jideToggleButton3 ----
jideToggleButton3.setText("FLAT");
jideToggleButton3.setButtonStyle(2);
add(jideToggleButton3, "cell 1 5 3 1");
//---- jideToggleButton4 ----
jideToggleButton4.setText("HYPERLINK");
jideToggleButton4.setButtonStyle(3);
add(jideToggleButton4, "cell 1 5 3 1");
//======== toolBar3 ========
{
//---- jideToggleButton9 ----
jideToggleButton9.setText("JideToggleButton");
toolBar3.add(jideToggleButton9);
//---- toggleButton1 ----
toggleButton1.setText("JToggleButton");
toolBar3.add(toggleButton1);
}
add(toolBar3, "cell 1 5 3 1");
//---- label2 ----
label2.setText("selected");
label2.setEnabled(false);
add(label2, "cell 0 6,alignx right,growx 0");
//---- jideToggleButton5 ----
jideToggleButton5.setText("TOOLBAR");
jideToggleButton5.setSelected(true);
add(jideToggleButton5, "cell 1 6 3 1");
//---- jideToggleButton6 ----
jideToggleButton6.setText("TOOLBOX");
jideToggleButton6.setSelected(true);
jideToggleButton6.setButtonStyle(1);
add(jideToggleButton6, "cell 1 6 3 1");
//---- jideToggleButton7 ----
jideToggleButton7.setText("FLAT");
jideToggleButton7.setSelected(true);
jideToggleButton7.setButtonStyle(2);
add(jideToggleButton7, "cell 1 6 3 1");
//---- jideToggleButton8 ----
jideToggleButton8.setText("HYPERLINK");
jideToggleButton8.setSelected(true);
jideToggleButton8.setButtonStyle(3);
add(jideToggleButton8, "cell 1 6 3 1");
//======== toolBar4 ========
{
//---- jideToggleButton10 ----
jideToggleButton10.setText("JideToggleButton");
jideToggleButton10.setSelected(true);
toolBar4.add(jideToggleButton10);
//---- toggleButton2 ----
toggleButton2.setText("JToggleButton");
toggleButton2.setSelected(true);
toolBar4.add(toggleButton2);
}
add(toolBar4, "cell 1 6 3 1");
// JFormDesigner - End of component initialization //GEN-END:initComponents
}
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
private TristateCheckBox tristateCheckBox1;
private JLabel triStateLabel1;
private JCheckBox verticalCheckBox;
private JCheckBox iconCheckBox;
// JFormDesigner - End of variables declaration //GEN-END:variables
}

View File

@@ -8,8 +8,8 @@ new FormModel {
}
add( new FormContainer( "com.formdev.flatlaf.testing.FlatTestPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
"$layoutConstraints": "insets dialog,hidemode 3"
"$columnConstraints": "[][fill][fill]"
"$rowConstraints": "[][][]"
"$columnConstraints": "[][left][fill][fill][fill]"
"$rowConstraints": "[][][]para[][][][]"
} ) {
name: "this"
add( new FormComponent( "javax.swing.JLabel" ) {
@@ -23,7 +23,7 @@ new FormModel {
"text": "show JidePopup"
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "showJidePopup", true ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 0"
"value": "cell 1 0,growx"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "jidePopupMenuLabel"
@@ -36,7 +36,7 @@ new FormModel {
"text": "show JidePopupMenu"
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "showJidePopupMenu", true ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 1"
"value": "cell 1 1,growx"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "label9"
@@ -64,9 +64,222 @@ new FormModel {
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 2"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "jideButtonLabel"
"text": "JideButton:"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 3"
} )
add( new FormComponent( "com.jidesoft.swing.JideButton" ) {
name: "jideButton1"
"text": "TOOLBAR"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 3 3 1"
} )
add( new FormComponent( "com.jidesoft.swing.JideButton" ) {
name: "jideButton2"
"text": "TOOLBOX"
"buttonStyle": 1
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 3 3 1"
} )
add( new FormComponent( "com.jidesoft.swing.JideButton" ) {
name: "jideButton3"
"text": "FLAT"
"buttonStyle": 2
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 3 3 1"
} )
add( new FormComponent( "com.jidesoft.swing.JideButton" ) {
name: "jideButton4"
"text": "HYPERLINK"
"buttonStyle": 3
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 3 3 1"
} )
add( new FormContainer( "javax.swing.JToolBar", new FormLayoutManager( class javax.swing.JToolBar ) ) {
name: "toolBar1"
add( new FormComponent( "com.jidesoft.swing.JideButton" ) {
name: "jideButton9"
"text": "JideButton"
} )
add( new FormComponent( "javax.swing.JButton" ) {
name: "button1"
"text": "JButton"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 3 3 1"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "verticalCheckBox"
"text": "vertical"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "verticalChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 3"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "label1"
"text": "selected"
"enabled": false
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 4,alignx right,growx 0"
} )
add( new FormComponent( "com.jidesoft.swing.JideButton" ) {
name: "jideButton5"
"text": "TOOLBAR"
"selected": true
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 4 3 1"
} )
add( new FormComponent( "com.jidesoft.swing.JideButton" ) {
name: "jideButton6"
"text": "TOOLBOX"
"buttonStyle": 1
"selected": true
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 4 3 1"
} )
add( new FormComponent( "com.jidesoft.swing.JideButton" ) {
name: "jideButton7"
"text": "FLAT"
"buttonStyle": 2
"selected": true
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 4 3 1"
} )
add( new FormComponent( "com.jidesoft.swing.JideButton" ) {
name: "jideButton8"
"text": "HYPERLINK"
"buttonStyle": 3
"selected": true
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 4 3 1"
} )
add( new FormContainer( "javax.swing.JToolBar", new FormLayoutManager( class javax.swing.JToolBar ) ) {
name: "toolBar2"
add( new FormComponent( "com.jidesoft.swing.JideButton" ) {
name: "jideButton10"
"text": "JideButton"
"selected": true
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 4 3 1"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "iconCheckBox"
"text": "icon"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "iconChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 4 4"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "jideToggleButtonLabel"
"text": "JideToggleButton:"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 5"
} )
add( new FormComponent( "com.jidesoft.swing.JideToggleButton" ) {
name: "jideToggleButton1"
"text": "TOOLBAR"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 5 3 1"
} )
add( new FormComponent( "com.jidesoft.swing.JideToggleButton" ) {
name: "jideToggleButton2"
"text": "TOOLBOX"
"buttonStyle": 1
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 5 3 1"
} )
add( new FormComponent( "com.jidesoft.swing.JideToggleButton" ) {
name: "jideToggleButton3"
"text": "FLAT"
"buttonStyle": 2
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 5 3 1"
} )
add( new FormComponent( "com.jidesoft.swing.JideToggleButton" ) {
name: "jideToggleButton4"
"text": "HYPERLINK"
"buttonStyle": 3
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 5 3 1"
} )
add( new FormContainer( "javax.swing.JToolBar", new FormLayoutManager( class javax.swing.JToolBar ) ) {
name: "toolBar3"
add( new FormComponent( "com.jidesoft.swing.JideToggleButton" ) {
name: "jideToggleButton9"
"text": "JideToggleButton"
} )
add( new FormComponent( "javax.swing.JToggleButton" ) {
name: "toggleButton1"
"text": "JToggleButton"
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 5 3 1"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "label2"
"text": "selected"
"enabled": false
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 6,alignx right,growx 0"
} )
add( new FormComponent( "com.jidesoft.swing.JideToggleButton" ) {
name: "jideToggleButton5"
"text": "TOOLBAR"
"selected": true
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 6 3 1"
} )
add( new FormComponent( "com.jidesoft.swing.JideToggleButton" ) {
name: "jideToggleButton6"
"text": "TOOLBOX"
"selected": true
"buttonStyle": 1
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 6 3 1"
} )
add( new FormComponent( "com.jidesoft.swing.JideToggleButton" ) {
name: "jideToggleButton7"
"text": "FLAT"
"selected": true
"buttonStyle": 2
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 6 3 1"
} )
add( new FormComponent( "com.jidesoft.swing.JideToggleButton" ) {
name: "jideToggleButton8"
"text": "HYPERLINK"
"selected": true
"buttonStyle": 3
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 6 3 1"
} )
add( new FormContainer( "javax.swing.JToolBar", new FormLayoutManager( class javax.swing.JToolBar ) ) {
name: "toolBar4"
add( new FormComponent( "com.jidesoft.swing.JideToggleButton" ) {
name: "jideToggleButton10"
"text": "JideToggleButton"
"selected": true
} )
add( new FormComponent( "javax.swing.JToggleButton" ) {
name: "toggleButton2"
"text": "JToggleButton"
"selected": true
} )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 6 3 1"
} )
}, new FormLayoutConstraints( null ) {
"location": new java.awt.Point( 0, 0 )
"size": new java.awt.Dimension( 500, 500 )
"size": new java.awt.Dimension( 635, 500 )
} )
}
}

View File

@@ -69,7 +69,9 @@ Button.endBackground = #bbb
Button.focusedBackground = #0ff
Button.hoverBackground = #ff0
Button.pressedBackground = #FFC800
Button.selectedBackground = #fbb
Button.borderColor = #0f0
Button.startBorderColor = #00f
Button.endBorderColor = #f00
Button.disabledBorderColor = #008
@@ -92,6 +94,7 @@ Button.default.focusColor = #f00
Button.toolbar.hoverBackground = #fff
Button.toolbar.pressedBackground = #eee
Button.toolbar.selectedBackground = #ddd
#---- CheckBox ----