![Page 1: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/1.jpg)
JBuilderdbSwing - Komponenten
JB28
Henry Wolf , SDCTec GmbH
![Page 2: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/2.jpg)
Übersicht
• Überblick zu den dbSwing-Komponenten
• Anwendung der einzelnen Komponenten
• Hinweise & Tips zu den dbSwing-Komponenten- dbSwing-Modelle
- Renderer und Editoren für JdbGridu.a.
![Page 3: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/3.jpg)
Allgemeine Eigenschaften der dbSwing-Komponenten
- Datensensitive SwingkomponentenVerbindung mit Datenquelle über Eigenschaft DataSet
- Feldsensitive Komponenten = 1 Feld der Datenquelle ( Eigenschaft columnName )
- Tabellen-Komponenten representieren alle oderein ausgewählte Anzahl von Feldern einer Datenquelle
- Darstellungseigenschaften werden zum Teil schon in derDatenquelle ( z.B. QueryDataSet ) definiert.
![Page 4: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/4.jpg)
Definition von Darstellungseigenschaften in der Datenquelle
Definition von Darstellungseigenschaften eines Feldes imFeldeditor der Datenquelle
caption = Default – Aliasbezeichner des Feldes ( z.B. Spaltenüberschrift in einer Table )
readOnly = Feld änderbar oder nichtdisplayMask = Darstellungsform ( Format )pickList = Verknüpfung mit einer Auswahlliste
( Ansatz Master / Detail )itemEditor = Editor zur Bearbeitung in einer JdbTableitemPainter = Darstellung in einer JdbTablevisible = Anzeige in JdbTable ja / neinwidth = Standard-Spalten-Breite in einer JdbTable
![Page 5: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/5.jpg)
Übersicht dbSwing-Komponenten I- Navigation / Statusanzeigen
JdbNavToolBar , JdbStatusLabel , More dbSwing- Textfelder und Labels ( feldsensitiv )
JdbTextField , JdbTextArea , JdbTextPane , JdbEditorPane
- Optionsfelder ( feldsensitiv )JdbCheckBox , JdbToggleButton , JdbRadioButton
- Listen und Auswahlfelder ( feldsensitiv )JdbSlider , JdbList , JdbComboBox
- Tabellen und Hierarchische Listen ( feldsensitiv ) TableScrollPane , JdbTable , JdbTree
![Page 6: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/6.jpg)
Übersicht dbSwing-Komponenten II- More dbSwing –
- NavigationJdbNavFieldJdbNavListJdbNavComboBoxJdbNavTree
- MonitoreDBEvent-MonitorDBDisposeMonitor
- DialogeDBPasswordPrompterFontChooser
![Page 7: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/7.jpg)
Komponente jdbStatusLabel
-Anzeige des Aktionsstatus eines DataSet‘s wenn dbSwing-Kom- ponenten den Focus haben
Eigenschaft autoDetect = aktuelles DataSet wird automatisch ermittelt , Vorraussetzung : db-Swing Komponente hat den Focus
Eigenschaft focusedDataSet = DataSet dessen Aktionsstatus angezeigt werden soll , wenn keine dbSwing- Komponente den Focus hat
![Page 8: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/8.jpg)
Textfelder – Eingeben und AnzeigenJdbTextField = einfaches TexteingabefeldJdbTextArea = mehrzeilige Texteingabe
( „MEMO“ )JdbTextPane = Eingabefeld für formatier-
te TexteJdbEditorPane = Anzeige und Eingabefeld
für HTML und RTF
JdbLabel = Anzeige eines Feldinhaltes
JScrollPane wird für mehrzeilige Eingabefelder fürLaufleisten benötigt.
![Page 9: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/9.jpg)
Optionsfelder- JdbCheckBox , JdbToggleButton , JdbRadioButton -
- Dienen vorwiegend der Darstellung von boolschen oder festen „Options“-Feldern
selectedDataValue = Wert bei aktiviertem OptionsfeldunselectDataValue = Wert bei deaktiviertem Optionsfeld
JdbToggleButton & JdbCheckBoxunknownDataValueMode = Verhalten bei nicht zutreffenden Wert
in dem Datenfeld ( Nichts, Wert löschen .. )
Bei RadioButtons mit mehr als 2 Wahl-MöglichkeitenradionButton1.setUnselectedDataValue ( null ); !!!!
![Page 10: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/10.jpg)
Auswahlfelder - JdbComboBox-
Wichtige Methoden :
addItem = hinzufügen eines WertesgetItemAt = Wert an bestimmter Position in der ListegetSelectedIndex = Rückgabe des Listenindex des aktuellen
EintragesgetSelectedItem = Rückgabe des Wertes des aktuellen Eintrages
setSelectedIndex = zu markierenden Eintrag bestimmen ( über den Listenindex)
setSelectedValue = zu markierenden Eintrag bestimmen ( Wert )
![Page 11: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/11.jpg)
Listenfelder - JdbListBox-
Wichtige Methoden :
getSelectedIndex = Rückgabe des Listenindex des aktuellen Eintrages
getSelectedValue = Rückgabe des Wertes des aktuellen EintragesgetItems = Rückgabe der Werte der Liste als String-Array
setSelectedIndex = zu markierenden Eintrag bestimmen ( über den Listenindex)
setSelectedValue = zu markierenden Eintrag bestimmen ( Wert )
![Page 12: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/12.jpg)
More dbSwing - DBPasswortPrompter -
- Passwort-Dialog für Datenbankanmeldung
demoDatabase.setConnection ( ..... );dbpwdPrompt.setDatabase ( demoDatabase );dbpwdPrompt.setFrame ( this );dbpwdPrompt.setUserName ( „“);dbpwdPrompt.setPassword ( „“);dbpwdPrompt.setTitel ( „Anmeldung an der DB“ );boolean cstatus = dbpwdPrompt.showDialog();if ( !cstatus ) // Verbindungsaufbau gescheitert { ... Fehlerbehandlung .... z.B. System.exit(0); }
![Page 13: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/13.jpg)
More dbSwing - FontChooser - Dialog -
- Änderung der Schriftfonts für dbSwing-Objekte
if ( fontChooser_jdbTable.showDialog() )
{
jdbTable.setFont (fontChooser_jdbTable.getSelectedFont() );
}
![Page 14: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/14.jpg)
Swing-Modelle
Datenquelle
Swing-Modelle
Swing-Komponenten
Property dataSet
Property model
Beispiele :DBListModel -> JListDBTableModel -> Jtable
![Page 15: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/15.jpg)
Swing-DataBinder
Datenquelle
Swing-DataBinder
Swing-Komponenten
Property dataSet
Property z.B. jTextComponent
![Page 16: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/16.jpg)
Editoren- und Renderer-Klassen I
Renderer = itemPainter
Ermöglicht individuelle Darstellung der Zelle einerJdbTable
Editoren= itemEditorStellt einen optionalen Swing-CellEditor für einDatenfeld dar
=> Delphi Entwickler InfoPower - Komponenten
![Page 17: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/17.jpg)
Editoren- und Renderer-Klassen II- Die Klasse DefaultCellEditor I -
Konstruktoren :
DefaultCellEditor ( JCheckBox checkBox );
DefaultCellEditor ( JComboBox comboBox );
DefaultCellEditor ( JTextField textField );
![Page 18: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/18.jpg)
Editoren- und Renderer-Klassen II- Die Klasse DefaultCellEditor II -
private void jbInit() throws Exception {
...
DefaultCellEditor comboBox = new DefaultCellEditor
(new JComboBox(new String[] {"Halle/Saale", "Nordhausen", "Dresden", "Hamburg", "Bitterfeld", "Berlin"}));
column2.setColumnName("ORT");
column2.setDataType(com.borland.dx.dataset.Variant.STRING);
column2.setItemEditor(comboBox); /* Cell-Editor -> ComboBox */
column2.setPrecision(100);
column2.setTableName("SIMPLE_LISTE");
column2.setServerColumnName("ORT");
column2.setSqlType(12);
}
![Page 19: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/19.jpg)
Editoren- und Renderer-Klassen III- Implementierung eines eigenen CellEditors I -
public class JavaClassEigenerEditor extends JavaClassEditorKlasse implements TableCellEditor,
ActionListener, FocusListener,
KeyListener{....}
![Page 20: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/20.jpg)
Editoren- und Renderer-Klassen III- Implementierung eines eigenen CellEditors II - public Component getTableCellEditorComponent (JTable table, Object value, boolean isSelected, int row, int column) { if (table.getModel() instanceof DBTableModel) { dbTableModel = (DBTableModel) table.getModel(); intTable = (JdbTable)table; setDefaultFont(intTable.getFont()); } this.setButtonVisible(isSelected); columnIndex = column; rowIndex = row; touched = false; ignoreModelChange = true; acceptKeyReleasedEvent = true; this.setEditorValue( value ); ignoreModelChange = false; return this; }
![Page 21: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/21.jpg)
Editoren- und Renderer-Klassen IV- Implementierung eines eigenen CellRenders I -
public class JavaClassEigenerRenderer extends JavaClassEditorBase implements TableCellRenderer, CustomPaintSite
{
....}
![Page 22: JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH](https://reader036.vdocuments.site/reader036/viewer/2022062404/55204d7349795902118c6f70/html5/thumbnails/22.jpg)
Editoren- und Renderer-Klassen IV- Implementierung eines eigenen CellRenders II
- public Component getTableCellRendererComponent ( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { ... if ( table instanceof JdbTable) { jdbTable = (JdbTable) table; } ... this.setEditorValue(value); return(this); }