CIB jrec technischer Leitfaden

Site: CIB eLearning
Course: CIB jrec
Book: CIB jrec technischer Leitfaden
Printed by: Guest user
Date: Saturday, 4 May 2024, 7:21 PM

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:
Einstieg über index.html

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