Skip to content

SwingX collection views

homebeaver edited this page Dec 6, 2022 · 1 revision

collection views dienen zur Darstellung von Daten (collections), die als Listen, Bäume oder Tabellen vorliegen. Im Vergleich zu Swing gibt es Erweiterungen in den Punkten sorting/filtering, rendering, highlighting, rollover und search. JXTreeTable ist eine neue Komponente, die die Eigenschaften von JXTree und JXTable vereinigt.

Zu den SwingX collection views gehören

JXTree, JXTable und JXTreeTable

Die Komponente JList dient der Anzeige einer Liste von Objekten und der Auswahl einzelner darin befindlicher Elemente.

Mit JXList können die Elemente sortiert angezeigt werden.

rollover

class ListRolloverController extends RolloverController

  • listens to rollover properties. Repaints effected component regions.
  • Updates link cursor.

Observer pattern:

ListRolloverController ist der konkreter Beobachter RolloverController ist der Beobachter

  • RolloverController implements PropertyChangeListener
  • mit public void propertyChange(PropertyChangeEvent evt)

A component that displays a list of objects and allows the user to selectone or more items. A separate model, ListModel, maintains thecontents of the list.

with support for general SwingX sorting/filtering,

  • rendering, highlighting, rollover and search func Highlighter provide a mechanism to modify visual attributes of cell rendering components. The mechanism is uniform across both rendered and rendering component types: it is the same for SwingX collection views (JXTable, JXList, JXTree/Table) and independent of the concrete component type used for rendering the cell. The view cell state is factored into a ComponentAdapter.

JXTree ist von JTree abgeleitet.

JXTree erweitert JTree

In JTree demo TreeDemo wird bereits JXTree verwendet, weil Methoden

  • expandAll()
  • collapseAll() in JTree nicht implementiert sind.

Enhanced Tree component with support for SwingX rendering, highlighting, rollover and search functionality.

SwingX Rendering and Highlighting

As all SwingX collection views, a JXTree is a HighlighterClient (PENDING JW: formally define and implement, like in AbstractTestHighlighter), that is it provides consistent api to add and remove Highlighters which can visually decorate the rendering component.

Rollover

As all SwingX collection views, a JXTree supports per-cell rollover. If enabled, the component fires rollover events on enter/exit of a cell which by default is promoted to the renderer if it implements RolloverRenderer, that is simulates live behaviour. The rollover events can be used by client code as well, f.i. to decorate the rollover row using a Highlighter.

Search

As all SwingX collection views, a JXTree is searchable. A search action is registered in its ActionMap under the key "find". The default behaviour is to ask the SearchFactory to open a search component on this component. The default keybinding is retrieved from the SearchFactory, typically ctrl-f (or cmd-f for Mac). Client code can register custom actions and/or bindings as appropriate.

Glossar

A

Algorithmus : eine Sammlung von Algorithmen in java, von Euklid bis RSA

AutoComplete : package bzw. class zur Autovervollständigung in Text Komponenten

B

Batik : Subprojekt von Apache XML Graphics Project

BSAF : Better Swing Application Framework

BuddySupport : erweitert Textkomponenten

C

Color : Farben im Farbkreis, Farbraum

Collection views : zu den SwingX collection views gehören JXList, JXTree, JXTable und JXTreeTable

ComboBox : allgemein (Wikipedia)

D

Demos : Demos-doku, github repo: SwingSet3-demos

dependences : projects in SwingSet3

E

EDT : Event Dispatch Thread

F

G

GPX : GPS Exchange Format - ein XML-Datenformat mit Geo-Ortspunkten, -Routen und -Tracks

GUI : Graphical User Interface, Benutzeroberfläche, allgemein, siehe auch L&F (Look&Feel)

GVT : Batik Graphics Vector Tree (GVT) gehört zu Apache XML Graphics Project

H

I

J

JDNC : Java Desktop Network Component, s. BSAF

JPMS : Java Platform Module System, aka Modulsystem Jigsaw

JTextComponent, JTextField, JTextArea : siehe Prompt- und BuddySupport

K

Kenai : History of SwingLabs

L

L&F : als Look&Feel wird das Aussehen und Verhalten der Benutzeroberfäche bezeichnet.

LazyValue : TODO siehe MetalButtonPainterIssues

List, JList, JXList : Listen von Werten darstellen List, JList, JXList

M

N

Nimbus : Mit Java 1.6 wurde das cross-platform Look-and-Feel eingeführt. Es wird per properties konfiguriert, siehe Nimbus-UI-defaults

O

OSSRH : Open Source Software Repository Hosting, zentrales öffentliches Repository für Artefakte: Central-OSSRH

P

PLAF : steht für Pluggable Look And Feel

PromptSupport : erweitert Textkomponenten

public key server : siehe distributing-your-public-key

Q

R

Renderer : die Darstellung von mehr oder weniger komplexen Objekten auf der Benutzeroberfäche im gewählten Look&Feel

S

SAM : Single Abstract Method interface, Beispiel StringValue

SVG : Scalable Vector Graphics, XML-Beschreibung von Vektorgrafiken

SwingLabs : History of SwingLabs

SwingSet2 : github repo: SwingSet2-demos

SwingSet3 : github repo: SwingSet3, SwingSet3-demos

SwingX : package org.jdesktop.swingx SwingX

Synth : Seit Java 1.5 gibt es das Synth-Look-and-Feel, dessen Erscheinungsbild in einer XML-Datei beschrieben wird, s. Nimbus

T

Table : JXTable (de) erweitert javax.swing.JTable

Tests : Tests (de)

TextComponent : siehe Prompt- und BuddySupport

Tree : JXTree (de) erweitert javax.swing.JTree

TreeTable : JXTreeTable (de) ist ein Zwitter mit Eigenschaften von Tree und Table

Trident : Trident animation library (de)

U

UI : User Interface, Benutzerschnittstelle, allgemein, siehe auch GUI, L&F (Look&Feel)

V

W

X

Y

Z

Clone this wiki locally