mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2026-02-13 15:27:16 -06:00
UI defaults inspector: support sorting
This commit is contained in:
@@ -21,6 +21,7 @@ import java.awt.event.*;
|
|||||||
import java.beans.PropertyChangeEvent;
|
import java.beans.PropertyChangeEvent;
|
||||||
import java.beans.PropertyChangeListener;
|
import java.beans.PropertyChangeListener;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
@@ -124,6 +125,8 @@ public class FlatUIDefaultsInspector
|
|||||||
table.setModel( new ItemsTableModel( getUIDefaultsItems() ) );
|
table.setModel( new ItemsTableModel( getUIDefaultsItems() ) );
|
||||||
table.setDefaultRenderer( String.class, new KeyRenderer() );
|
table.setDefaultRenderer( String.class, new KeyRenderer() );
|
||||||
table.setDefaultRenderer( Item.class, new ValueRenderer() );
|
table.setDefaultRenderer( Item.class, new ValueRenderer() );
|
||||||
|
table.getRowSorter().setSortKeys( Collections.singletonList(
|
||||||
|
new RowSorter.SortKey( 0, SortOrder.ASCENDING ) ) );
|
||||||
|
|
||||||
// restore window bounds
|
// restore window bounds
|
||||||
Preferences prefs = getPrefs();
|
Preferences prefs = getPrefs();
|
||||||
@@ -214,7 +217,6 @@ public class FlatUIDefaultsInspector
|
|||||||
items.add( new Item( String.valueOf( key ), value ) );
|
items.add( new Item( String.valueOf( key ), value ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
items.sort( (item1, item2) -> item1.key.compareToIgnoreCase( item2.key ) );
|
|
||||||
return items.toArray( new Item[items.size()] );
|
return items.toArray( new Item[items.size()] );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -386,6 +388,9 @@ public class FlatUIDefaultsInspector
|
|||||||
|
|
||||||
//======== scrollPane ========
|
//======== scrollPane ========
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//---- table ----
|
||||||
|
table.setAutoCreateRowSorter(true);
|
||||||
scrollPane.setViewportView(table);
|
scrollPane.setViewportView(table);
|
||||||
}
|
}
|
||||||
panel.add(scrollPane, BorderLayout.CENTER);
|
panel.add(scrollPane, BorderLayout.CENTER);
|
||||||
@@ -484,6 +489,12 @@ public class FlatUIDefaultsInspector
|
|||||||
} else
|
} else
|
||||||
return String.format( hasAlpha ? "#%06X%02X" : "#%06X", rgb & 0xffffff, (rgb >> 24) & 0xff );
|
return String.format( hasAlpha ? "#%06X%02X" : "#%06X", rgb & 0xffffff, (rgb >> 24) & 0xff );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// used for sorting by value
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return getValueAsString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//---- class ItemsTableModel ----------------------------------------------
|
//---- class ItemsTableModel ----------------------------------------------
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ new FormModel {
|
|||||||
name: "scrollPane"
|
name: "scrollPane"
|
||||||
add( new FormComponent( "javax.swing.JTable" ) {
|
add( new FormComponent( "javax.swing.JTable" ) {
|
||||||
name: "table"
|
name: "table"
|
||||||
|
"autoCreateRowSorter": true
|
||||||
} )
|
} )
|
||||||
}, new FormLayoutConstraints( class java.lang.String ) {
|
}, new FormLayoutConstraints( class java.lang.String ) {
|
||||||
"value": "Center"
|
"value": "Center"
|
||||||
|
|||||||
Reference in New Issue
Block a user