Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH.

Ähnliche Präsentationen


Präsentation zum Thema: "JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH."—  Präsentation transkript:

1 JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH

2 Übersicht Überblick zu den dbSwing-Komponenten Anwendung der einzelnen Komponenten Hinweise & Tips zu den dbSwing-Komponenten - dbSwing-Modelle - Renderer und Editoren für JdbGrid u.a.

3 Allgemeine Eigenschaften der dbSwing- Komponenten -Datensensitive Swingkomponenten Verbindung mit Datenquelle über Eigenschaft DataSet -Feldsensitive Komponenten = 1 Feld der Datenquelle ( Eigenschaft columnName ) -Tabellen-Komponenten representieren alle oder ein ausgewählte Anzahl von Feldern einer Datenquelle -Darstellungseigenschaften werden zum Teil schon in der Datenquelle ( z.B. QueryDataSet ) definiert.

4 Definition von Darstellungseigenschaften in der Datenquelle Definition von Darstellungseigenschaften eines Feldes im Feldeditor der Datenquelle caption= Default – Aliasbezeichner des Feldes ( z.B. Spaltenüberschrift in einer Table ) readOnly= Feld änderbar oder nicht displayMask= Darstellungsform ( Format ) pickList= Verknüpfung mit einer Auswahlliste ( Ansatz Master / Detail ) itemEditor= Editor zur Bearbeitung in einer JdbTable itemPainter= Darstellung in einer JdbTable visible= Anzeige in JdbTable ja / nein width= Standard-Spalten-Breite in einer JdbTable

5 Ü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

6 Übersicht dbSwing-Komponenten II - More dbSwing – -Navigation JdbNavField JdbNavList JdbNavComboBox JdbNavTree -Monitore DBEvent-Monitor DBDisposeMonitor -Dialoge DBPasswordPrompter FontChooser

7 Komponente jdbStatusLabel -Anzeige des Aktionsstatus eines DataSets 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

8 Textfelder – Eingeben und Anzeigen JdbTextField= einfaches Texteingabefeld JdbTextArea= mehrzeilige Texteingabe ( MEMO ) JdbTextPane= Eingabefeld für formatier- te Texte JdbEditorPane= Anzeige und Eingabefeld für HTML und RTF JdbLabel = Anzeige eines Feldinhaltes JScrollPane wird für mehrzeilige Eingabefelder für Laufleisten benötigt.

9 Optionsfelder - JdbCheckBox, JdbToggleButton, JdbRadioButton - - Dienen vorwiegend der Darstellung von boolschen oder festen Options-Feldern selectedDataValue = Wert bei aktiviertem Optionsfeld unselectDataValue = Wert bei deaktiviertem Optionsfeld JdbToggleButton & JdbCheckBox unknownDataValueMode = Verhalten bei nicht zutreffenden Wert in dem Datenfeld ( Nichts, Wert löschen.. ) Bei RadioButtons mit mehr als 2 Wahl-Möglichkeiten radionButton1.setUnselectedDataValue ( null ); !!!!

10 Auswahlfelder - JdbComboBox- Wichtige Methoden : addItem= hinzufügen eines Wertes getItemAt= Wert an bestimmter Position in der Liste getSelectedIndex= Rückgabe des Listenindex des aktuellen Eintrages getSelectedItem= Rückgabe des Wertes des aktuellen Eintrages setSelectedIndex= zu markierenden Eintrag bestimmen ( über den Listenindex) setSelectedValue= zu markierenden Eintrag bestimmen ( Wert )

11 Listenfelder - JdbListBox- Wichtige Methoden : getSelectedIndex= Rückgabe des Listenindex des aktuellen Eintrages getSelectedValue= Rückgabe des Wertes des aktuellen Eintrages getItems= Rückgabe der Werte der Liste als String-Array setSelectedIndex= zu markierenden Eintrag bestimmen ( über den Listenindex) setSelectedValue= zu markierenden Eintrag bestimmen ( Wert )

12 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); }

13 More dbSwing - FontChooser - Dialog - - Änderung der Schriftfonts für dbSwing-Objekte if ( fontChooser_jdbTable.showDialog() ) { jdbTable.setFont (fontChooser_jdbTable.getSelectedFont() ); }

14 Swing-Modelle Datenquelle Swing-Modelle Swing-Komponenten Property dataSet Property model Beispiele : DBListModel -> JList DBTableModel -> Jtable

15 Swing-DataBinder Datenquelle Swing-DataBinder Swing-Komponenten Property dataSet Property z.B. jTextComponent

16 Editoren- und Renderer-Klassen I Renderer= itemPainter Ermöglicht individuelle Darstellung der Zelle einer JdbTable Editoren= itemEditor Stellt einen optionalen Swing-CellEditor für ein Datenfeld dar => Delphi Entwickler InfoPower - Komponenten

17 Editoren- und Renderer-Klassen II - Die Klasse DefaultCellEditor I - Konstruktoren : DefaultCellEditor ( JCheckBox checkBox ); DefaultCellEditor ( JComboBox comboBox ); DefaultCellEditor ( JTextField textField );

18 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); }

19 Editoren- und Renderer-Klassen III - Implementierung eines eigenen CellEditors I - public class JavaClassEigenerEditor extends JavaClassEditorKlasse implements TableCellEditor, ActionListener, FocusListener, KeyListener {.... }

20 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; }

21 Editoren- und Renderer-Klassen IV - Implementierung eines eigenen CellRenders I - public class JavaClassEigenerRenderer extends JavaClassEditorBase implements TableCellRenderer, CustomPaintSite {.... }

22 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); }


Herunterladen ppt "JBuilder dbSwing - Komponenten JB28 Henry Wolf, SDCTec GmbH."

Ähnliche Präsentationen


Google-Anzeigen