CIB jrec technischer Leitfaden
Site: | CIB eLearning |
Course: | CIB jrec |
Book: | CIB jrec technischer Leitfaden |
Printed by: | Guest user |
Date: | Thursday, 5 December 2024, 3:15 AM |
1. Lieferumfang
Komponente |
Softwareumfang |
CIB jrec |
Die Applikation wird als zip-Datei angeliefert: CibJrec-<version>.zip |
Nach dem Auspacken ergibt sich folgende Verzeichnisstruktur mit den angegebenen Dateien:
Verzeichnis |
Datei |
Inhalt |
CibJrec |
readme.txt |
ReadMe Datei |
|
run.bat |
Batch-Datei für den Start über die Konsole |
|
cibjrec.ini |
CIB jrec INI-Datei |
CibJrec\docs\api und Unterverzeichnisse |
All javadoc Dateien, insbesondere index.html |
Java-Dokumentation zu CIB jrec: |
CibJrec\docs\manual |
|
CIB jrec Manual-Dokumente |
CibJrec\lib |
CibGUI-<version>.jar |
CIB GUI Java Archivdatei |
|
CibJrec-<version>.jar |
CIB jrec Java Archivdatei |
2. Einführung
CIB jrec ist eine Java basierte Rich-Text Editor-Komponente, die sich nach dem von anderen CIB Modulen bekannten Schnittstellenkonzept einfach in Masken und fremde Anwendungen integrieren lässt.
Wie die anderen CIB Module kann dieses RTF-Edit-Control komfortabel durch Setzen verschiedener Properties gesteuert werden. Damit erfüllt sich ein häufiger Kundenwunsch nach einem schlanken Text(passagen)-Editor mit reduziertem Funktionsumfang, der einfach in andere Java-Anwendungen eingebunden werden kann.
Der CIB jrec Editor kann entweder leer, mit ASCII oder RTF-Texten gestartet werden. Umgekehrt können die Texte wieder im ASCII- oder RTF-Format aus dem Edit-Control gelesen werden.
CIB jrec besitzt folgende Möglichkeiten zur Textformatierung:
- Verschiedene Schriftarten und Schriftgrößen
- Zeichenattribute fett, kursiv, unterstrichen, farbig
- Absatzausrichtung linksbündig, zentriert, rechtsbündig
- Kopieren, Ausschneiden und Einfügen markierter Textabschnitte
- Ein-/Ausblenden von Formatierungszeichen
In einem RTF-Dokument vorhandene Tabulatorpositionen (dokumentübergreifend oder pro Absatz) werden ausgewertet und entsprechend angezeigt.
Die vorliegende technische Dokumentation gibt einen Überblick über die Konfigurations- und Einsatzmöglichkeiten nebst Codebeispielen für einen "schnellen Einstieg" in die Thematik.
Im Folgenden werden zwei Beispieldokumente dargestellt: Das erste Dokument wurde mit CIB jrec erstellt und zeigt beispielhaft einige Funktionen des Rich-Text Edit-Controls. Das zweite Dokument enthält verschiedene Tabulatoren und wurde mit MS Word erstellt, da in CIB jrec Dokumente mit expliziten Tabulatorpositionen zwar angezeigt, aber nicht erzeugt werden können.
3. Konfiguration durch Properties
In diesem Kapitel können Sie Konfiguration durch Properties finden.
3.1. Allgemeine Properties
Mit den folgenden Properties können generelle Einstellung für die Applikation gesetzt werden.
Property-Bezeichnung |
Typ |
PROPERTY_TITLE |
String |
Setzt den Titel, der in der Titelzeile der Applikation angezeigt wird. Default: „JCibRec“ |
Property-Bezeichnung |
Typ |
PROPERTY_ICON_PATH |
String |
Setzt das Icon, das in der Titelzeile der Applikation angezeigt wird. Der Name der Icon-Datei mit vollständiger Pfadangabe wird übergeben. Default: „/de/cib/jrec/resource/CIBRichEdit.png“ |
Property-Bezeichnung |
Typ |
PROPERTY_JREC_INIFILENAME |
String |
Setzt den Namen der CIB jrec INI-Datei. Default: cibjrec.ini Hinweis: Mit dieser Property wird der Name der CIB jrec INI-Datei gesetzt. Falls als Wert „null“ gesetzt wird, wird keine INI-Datei verwendet. |
Property-Bezeichnung |
Typ |
PROPERTY_INPUTFILE |
String |
Setzt den Namen des Dokuments, das beim Start der Applikation geöffnet wird. Default: CIB jrec wird mit einem leeren Dokument geöffnet. |
3.2. Properties zur Konfiguration der Toolbar
Mit den folgenden Properties können die einzelnen Elemente der Toolbar aus- oder eingeschaltet werden. Setzen der Property auf TRUE bewirkt, dass das Element sichtbar und aktiv ist, FALSE bedeutet, das Element ist unsichtbar und deaktiviert.
Property-Bezeichnung |
Typ |
PROPERTY_BOLD_ENABLED |
Boolean |
Button für Schrifteinstellung „Fett“ aktivieren oder deaktivieren. TRUE (default): Button ist sichtbar und aktiv. FALSE: Button ist unsichtbar und deaktiviert. |
Property-Bezeichnung |
Typ |
PROPERTY_ITALIC_ENABLED |
Boolean |
Button für Schrifteinstellung „Kursiv“ aktivieren oder deaktivieren. TRUE (default): Button ist sichtbar und aktiv. FALSE: Button ist unsichtbar und deaktiviert. |
Property-Bezeichnung |
Typ |
PROPERTY_FONT_UNDERLINE_ENABLED |
Boolean |
Button für Schrifteinstellung „Unterstreichen“ aktivieren oder deaktivieren. TRUE (default): Button ist sichtbar und aktiv. FALSE: Button ist unsichtbar und deaktiviert. |
Property-Bezeichnung |
Typ |
PROPERTY_ALIGN_LEFT_ENABLED |
Boolean |
Button für Schrifteinstellung „Linksbündig“ aktivieren oder deaktivieren. TRUE (default): Button ist sichtbar und aktiv. FALSE: Button ist unsichtbar und deaktiviert. |
Property-Bezeichnung |
Typ |
PROPERTY_ALIGN_CENTER_ENABLED |
Boolean |
Button für Schrifteinstellung „Zentriert“ aktivieren oder deaktivieren. TRUE (default): Button ist sichtbar und aktiv. FALSE: Button ist unsichtbar und deaktiviert. |
Property-Bezeichnung |
Typ |
PROPERTY_ALIGN_RIGHT_ENABLED |
Boolean |
Button für Schrifteinstellung „Rechtsbündig“ aktivieren oder deaktivieren. TRUE (default): Button ist sichtbar und aktiv. FALSE: Button ist unsichtbar und deaktiviert. |
Property-Bezeichnung |
Typ |
PROPERTY_ALIGN_BLOCK_ENABLED |
Boolean |
Button für Schrifteinstellung „Blocksatz“ aktivieren oder deaktivieren (nicht verfügbar). TRUE (default): Button ist sichtbar und aktiv. FALSE: Button ist unsichtbar und deaktiviert. |
Property-Bezeichnung |
Typ |
PROPERTY_COPY_ENABLED |
Boolean |
Button für Funktion „Kopieren“ aktivieren oder deaktivieren. TRUE (default): Button ist sichtbar und aktiv. FALSE: Button ist unsichtbar und deaktiviert. |
Property-Bezeichnung |
Typ |
PROPERTY_PASTE_ENABLED |
Boolean |
Button für Funktion „Einfügen“ aktivieren oder deaktivieren. TRUE (default): Button ist sichtbar und aktiv. FALSE: Button ist unsichtbar und deaktiviert. |
Property-Bezeichnung |
Typ |
PROPERTY_CUT_ENABLED |
Boolean |
Button für Funktion „Ausschneiden“ aktivieren oder deaktivieren. TRUE (default): Button ist sichtbar und aktiv. FALSE: Button ist unsichtbar und deaktiviert. |
Property-Bezeichnung |
Typ |
PROPERTY_FOREGROUND_COLOR_ENABLED |
Boolean |
Button für Schrifteinstellung „Schriftfarbe“ aktivieren oder deaktivieren. TRUE (default): Button ist sichtbar und aktiv. FALSE: Button ist unsichtbar und deaktiviert. |
Property-Bezeichnung |
Typ |
PROPERTY_AUTOMATIC_COLOR_ENABLED |
Boolean |
Hinweis: Diese Property ist noch nicht implementiert. |
Property-Bezeichnung |
Typ |
PROPERTY_FONT_SIZE_ENABLED |
Boolean |
Auswahlliste (ComboBox) für die „Schriftgröße“ aktivieren oder deaktivieren. TRUE (default): ComboBox ist sichtbar und aktiv. FALSE: ComboBox ist unsichtbar und deaktiviert. |
Property-Bezeichnung |
Typ |
PROPERTY_FONT_ENABLED |
Boolean |
Auswahlliste (ComboBox) für die „Schriftart“ aktivieren oder deaktivieren. TRUE (default): ComboBox ist sichtbar und aktiv. FALSE: ComboBox ist unsichtbar und deaktiviert. |
Property-Bezeichnung |
Typ |
PROPERTY_SHOW_NONPRINTABLE_CHARS_ENABLED |
Boolean |
Button für Schrifteinstellung „Formatierungszeichen ein-/ausblenden“ aktivieren oder deaktivieren. TRUE (default): Button ist sichtbar und aktiv. FALSE: Button ist unsichtbar und deaktiviert. |
Property-Bezeichnung |
Typ |
PROPERTY_EXIT_REC_ENABLED |
Boolean |
Toolbar-Button „Schließen“ aktivieren oder deaktivieren. TRUE (default): Button ist sichtbar und aktiv. FALSE: Button ist unsichtbar und deaktiviert. |
3.3. Properties zur Konfiguration des jrec Edit-Controls
Mit diesen Properties kann das Verhalten des jrec Edit-Controls gesteuert werden.
Property-Bezeichnung |
Typ |
PROPERTY_ALLOWED_FONT_LIST |
String |
Durch Semikolon getrennte Liste der erlaubten Fonts (Fontname1;Fontname2; …). Falls nichtleer, wird die Liste der erlaubten Fonts auf die Fonts in der Liste eingeschränkt. Default: Alle erlaubten Fonts stehen im jrec Edit-Control zur Verfügung. Hinweis: Mit dieser Property kann die Liste der erlaubten Fonts auf die Fonts in der Liste eingeschränkt werden. Falls die Liste leer ist, sind alle erlaubten Fonts verfügbar. |
Property-Bezeichnung |
Typ |
PROPERTY_DEFAULT_FONT_FAMILY |
String |
Setzt die Standard-Schriftart des RTF-Dokuments. Default: RTF Standard-Schriftart (Times New Roman). Hinweis: Mit dieser Property wird der Name der Standard-Schriftart gesetzt. Falls die Property nicht gesetzt wird, wird die RTF Standard-Schriftart verwendet. |
Property-Bezeichnung |
Typ |
PROPERTY_DEFAULT_FONT_SIZE |
String |
Setzt die Standard-Schriftgröße des RTF-Dokuments. Default: RTF Standard-Schriftgröße (12). Hinweis: Mit dieser Property wird die Standard-Schriftgröße gesetzt. Falls die Property nicht gesetzt wird, wird die RTF Standard-Schriftgröße verwendet. |
Property-Bezeichnung |
Typ |
PROPERTY_GRAB_FOCUS_AFTER_SETRTF |
Boolean |
Bestimmt, ob in CIB jrec nach dem Setzen eines RTF-Texts durch setRTF() der Focus auf den Text gesetzt wird oder nicht. Default: FALSE Hinweis: Mit dieser Property wird festgelegt, ob nach dem Laden bzw. Setzen eines Texts der Focus automatisch in das Edit-Control gesetzt wird oder nicht. |
Property-Bezeichnung |
Typ |
PROPERTY_USE_ONLY_STANDARD_COLORS |
Boolean |
Im Farbauswahl-Dialog sind nur RTF-Standardfarben auswählbar. TRUE: Nur RTF-Standardfarben sind auswählbar. FALSE (default): Selbstdefinierte und RTF-Standardfarben sind wählbar. Hinweis: Mit dieser Property wird die Auswahlmöglichkeit der Farben im Farbauswahl-Dialog bestimmt. |
Property-Bezeichnung |
Typ |
PROPERTY_POPUP_ENABLED |
Boolean |
Bestimmt, ob in CIB jrec das Popup-Menü aktiviert ist oder nicht. Da diese Property auch aus der INI-Datei gelesen wird, sollte sie erst nach dem Aufruf von cibRec.start() gesetzt werden, da sie sonst überschrieben wird. TRUE: Das Popup-Menü kann durch Klick mit der rechten Maustaste aktiviert werden. FALSE (default): Das Popup-Menü ist nicht aufrufbar. Hinweis: Mit dieser Property wird die Nutzbarkeit des Popup-Menüs bestimmt. |
Property-Bezeichnung |
Typ |
PROPERTY_WRITE_DEFAULTFONTSIZE |
Boolean |
Bestimmt, ob CIB jrec die Standard-Fontgröße in das RTF-Dokument schreibt. TRUE: Schreibt die Standard-Fontgröße in das RTF-Dokument. FALSE (default): Schreibt die Standard-Fontgröße nicht in das RTF-Dokument. Hinweis: Mit dieser Property wird das Schreiben der Standard-Fontgröße in das RTF-Dokuments konfiguriert. |
Property-Bezeichnung |
Typ |
PROPERTY_WRITE_DEFAULTTABS |
Boolean |
Bestimmt, ob CIB jrec die Standard-Tabulatoren pro Absatz in das RTF-Dokument schreibt. TRUE: Schreibt die Standard-Tabulatoren pro Absatz in das RTF-Dokument. FALSE (default): Schreibt die Standard-Tabulatoren nicht in das RTF-Dokument. Hinweis: Mit dieser Property wird das Schreiben der Standard-Tabulatoren in das RTF-Dokuments konfiguriert. |
Property-Bezeichnung |
Typ |
PROPERTY_REC_IGNORE_FIELDS |
Boolean |
Bestimmt, ob CIB jrec die im RTF-Dokument eingebetteten Felder ignoriert oder nicht. TRUE: Die im RTF eingebetteten Felder werden ignoriert, d.h. sie werden nicht angezeigt und nicht gespeichert. FALSE (default): Die im RTF eingebetteten Felder werden nicht ignoriert, d.h. sie werden angezeigt und gespeichert. Hinweis: Falls der Schalter gesetzt ist, werden eingebettete Felder nicht angezeigt und nicht gespeichert. Es wird nur das Fieldresult als normaler formatierter Text angezeigt und auch so gespeichert. Dies betrifft insbesondere auch Hyperlinks und Datei-Links. |
4. Steuerung durch Aufrufparameter
CIB jrec kann auch durch Aufrufparameter in der Batch-Datei (run.bat) gesteuert werden.
Dabei gilt die übliche Syntax für Kommandozeilenparameter:
-<Parametername-1> <Parameterwert-1> … -<Parametername-n> <Parameterwert-n>
Die Namen der Parameter entsprechen den internen Namen der Properties. Falls nicht bekannt, können sie durch den Support erfragt werden.
Zusätzlich gibt es folgende Aufrufparameter:
<Dateiname> Name des Dokuments, das beim Start der Applikation geladen werden soll. (ohne vorausgehendes Minuszeichen)
-t Aktiviert die Ausgabe von Trace-Informationen in die Konsole
5. Konfigurationsdatei (INI-Datei)
CIB jrec kann durch eine Konfigurationsdatei gesteuert werden. Falls durch die Property PROPERTY_JREC_INIFILENAME kein anderer Name gesetzt wird, ist der Name der INI-Datei standardmäßig „cibjrec.ini“. Wenn keine INI-Datei verwendet werden soll, muss die INI-Datei auf den Wert „null“ gesetzt werden.
Die INI-Datei wird beim Start von CIB jrec gelesen (in der Methode cibRec.start) und kann prinzipiell alle oben beschriebenen Properties enthalten, die dann die vorher gesetzten Property-Werte überschreiben.
Die Namen der Properties müssen den internen Namen der Properties entsprechen. Falls nicht bekannt, können sie durch den Support erfragt werden.
Beginnt eine Zeile mit „#“, wird die Property ignoriert.
Beispiel für den Inhalt einer INI-Datei:
[Properties]
TITLE=CIB Java Rich Edit Control
INPUTFILE=D:\CIB\TestDokumente\RTF\Tabtest_All.rtf
# Enable popup menu
popup.Enabled=true
# Show status line
showstatus.Enabled=true
# Show toolbar icon for nonprintable-characters
#show-nonprintable-chars.Enabled=false
# Set default font family and size
defaultFontFamily=Arial
defaultFontSize=10
# Write default font size on saving
writeDefaultFontSize=true
# Write default tabs on saving
#writeDefaultTabs=true
# Grab focus after setting rtf file
#grab.focus.after.setrtf.Enabled=false
# Ignore field instructions within rtf content
#JREC.ignoreFields=true
6. Einbindung des CIB jrec in Java
Wird der Jrec in eine Java-Applikation eingebunden, die ein eigenes Menü besitzt, muss das JRec-Menü explizit deaktiviert werden. Dazu muss bei der Jrec-Instanz folgende Property gesetzt werden, bevor die Jrec-Instanz gestartet wird:
// disable jrec menu bar – must be done // if custom application uses its own menu bar
m_cibRec.setProperty(ICibApplication.PROPERTY_MENU_ENABLED, Boolean.FALSE);
// set other Properties
//...
// jrec start and load
m_cibRec.start();
m_cibRec.load();
Siehe dazu auch den Beispielcode zur Einbindung in eine Java Swing-Applikation.
6.1. Einbindung in eine Java Swing-Applikation
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.WindowConstants;
import javax.swing.text.MutableAttributeSet;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
import de.cib.jrec.JCibRec;
public class MyRecTest extends JFrame {
private static final long serialVersionUID = 1L;
public static final String TEST_FILENAME = "c://tmp//rtf_data.rtf";
JCibRec m_cibRec;
public MySwingRecTest() {
m_cibRec = new JCibRec();
JPanel recPanel = new JPanel();
recPanel.add(m_cibRec);
getContentPane().add(recPanel);
m_cibRec.setPreferredSize(new Dimension(650, 200));
// set standard formatting
initDocumentAttributes();
// set input file (optional)
m_cibRec.setProperty(ICibApplication.PROPERTY_INPUTFILE, TEST_FILENAME);
// set Jrec application title
m_cibRec.setProperty(ICibApplication.PROPERTY_TITLE, "CIB JRec integriert in Swing");
// disable jrec menu bar – must be done
// if custom application uses its own menu bar // if custom application uses its own menu bar
m_cibRec.setProperty(ICibApplication.PROPERTY_MENU_ENABLED, Boolean.FALSE);
// set other Properties
//...
// jrec start and load
m_cibRec.start();
m_cibRec.load();
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setLocation(200, 50);
setResizable(false);
pack();
}
// set standard formatting
private void initDocumentAttributes() {
MutableAttributeSet defaultAttributes =
new SimpleAttributeSet();
StyleConstants.setFontSize(defaultAttributes, 8);
StyleConstants.setFontFamily(defaultAttributes, "Courier New");
m_cibRec.getRecRichEditPane().setDocumentAttributeDefaults(
defaultAttributes);
}
public static void main(String[] args)
{
MySwingRecTest recTest = new MySwingRecTest();
recTest.setVisible(true);
}
}
Die Funktion initDocumentAttributes() zeigt beispielhaft, wie Sie die standardmäßige Schriftart und Schriftgröße für das Dokument setzen können.
6.2. Einbindung in eine Java SWT-Applikation
Um JCibRec in eine SWT-Applikation zu integrieren, müssen einige Besonderheiten beachtet werden. JCibRec muss in einen AWT-Frame eingebettet werden, der als oberstes Objekt eine Instanz von RootPaneContainer (z.B. JApplet) enthält. In diesen RootPaneContainer werden dann alle weiteren Komponenten eingefügt.
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import de.cib.gui.framework.ICibApplication;
import de.cib.jrec.ICibRecApplication;
import de.cib.jrec.JCibRec;
public class JRecInSWT {
public static final String TEST_FILENAME = "Testdokument2.rtf";
public static void main(String[] args) {
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
shell.setText("Shell for JRec integriert in SWT");
Composite composite = new Composite(shell, SWT.NO_BACKGROUND
| SWT.EMBEDDED);
/*
* Set a Windows specific AWT property that prevents
* heavyweight components from erasing their background.
* Note that this is a global property and cannot be scoped.
* It might not be suitable for your application.
*/
try {
System.setProperty("sun.awt.noerasebackground", "true");
}
catch (NoSuchMethodError error) {
}
final JCibRec cibRec = new JCibRec(composite);
cibRec.setProperty(ICibApplication.PROPERTY_INPUTFILE, TEST_FILENAME);
cibRec.setProperty(ICibApplication.PROPERTY_TITLE, "CIB JRec integriert in SWT");
cibRec.setProperty(ICibRecApplication.PROPERTY_POPUP_ENABLED, Boolean.TRUE);
// disable jrec menu bar – must be done // if custom application uses its own menu bar
cibRec.setProperty(ICibApplication.PROPERTY_MENU_ENABLED, Boolean.FALSE);
cibRec.setVisible(true);
cibRec.start();
cibRec.load();
shell.open();
cibRec.grabFocus();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}