Archiv für die Kategorie „Programmierung“

ABAP – Interne Tabellen

Dienstag, 15. Februar 2011

Ich habe einen Artikel gefunden, in dem alle möglichen Themen was interne Tabellen betrifft erläutert werden: Link

Arbeiten mit Java Date und Calendar

Donnerstag, 18. November 2010

Wenn man eine Date Instanz hat und diese auf ein anderes Datum setzen möchte, so ist dies nicht ohne weiteres möglich – es sei denn man möchte sich die Berechnung im Millisekundenbereich seit 1970 antun.

Hierbei bin ich auf die Methode gestoßen, die Klasse “Calendar” zu benutzen. Ausfürlich wird dies unter dem Link beschrieben. Genauer unter Kapitel 4 “Benutzung von Date, SimpleDateFormat und GregorianCalendar”.

Hierbei kann man auch einfacher Berechnungen mit einem (oder mehreren) Datum durchführen.

String in Date umwandeln

Donnerstag, 18. November 2010

Kleiner Merkzettel

Unter diesem Link ist beschieben, wie man einen String in ein Date umwandelt: link

KeyEvent oder Tastenkombination an Betriebssystem weitergeben

Mittwoch, 17. November 2010

Wenn man mit Java ein KeyEvent auslösen möchte, das nicht von der geschriebenen Anwendung verarbeitet oder abgefangen werden soll, so muss man hier den AWT-Robot verwenden.
Hier ein kleines Beispiel:


try {
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_F11);
robot.keyRelease(KeyEvent.VK_F11);
} catch (AWTException e) {
e.printStackTrace();
}

HTML-Text in JTextPane anzeigen

Dienstag, 16. November 2010

Es ist relativ simpel wenn man HTML-Text in einem TextPane anzeigen möchte:

Nachdem die Pane initialisiert wurde, einfach ein HTMLEditorKit der Pane hinzufügen.


jTextPane.setEditorKit(new HTMLEditorKit());

JTextPane mit JScrollPane automatisch scrollen

Freitag, 5. November 2010

Wer nicht lange suchen möchte, wie man eine gefüllte TextPane nach dem Füllen automatisch nach oben scrollt, der kann diese zwei Varianten probieren:

SwingUtilities.invokeLater(new Runnable() {
     public void run() {
          scrollpane.getVerticalScrollBar().getModel().setValue(0);
     }
});

oder

Point point = new Point(0, (int)(textArea.getSize().getHeight()));
scrollPane.getViewport().setViewPosition(point);

Mehrfache MouseEvents

Freitag, 8. Oktober 2010

Ich hatte in einem Projekt das Problem, dass bei einem Klick auf ein Object (in meinem Beispiel ein JTable) das MouseEvent MouseClick mehrfach ausgeführt bzw. aufgerufen wurde.

Der Fehler lag darin, dass ich die JTable bei jedem Aufruf neu initiiert habe und erneut einen MouseListener hinzugefügt habe.
Die Lösung dafür ist, einen Counter einzubauen, der bei der ersten Initiierung auf “0″ steht und somit einen MouseListener hinzufügt. Beim nächsten Initiieren, ist der Counter auf “1″ und es wird ein weiteres unnötiges Hinzufügen eines Listeners verhindert.

Somit hat man bei einem Klick (oder Doppelklick) keine weiteren unnötigen MouseEvents.

Diese Information habe ich über Google unter dieser Seite gefunden.

Sonderzeichen und UTF-8

Donnerstag, 16. September 2010

Wer kennst das nicht? Man hat soweit alles beachtet, damit die Zeichen einer Homepage korrekt aussehen aber trotzdem kriegt man kryptische Zeichen dargestellt.

Diese Anleitung hat mir auch schon geholfen: UTF-8 und die Entity

Umkreissuche

Freitag, 3. September 2010

Wer eine Datenbankabfrage braucht, um herauszufinden welche Städte bzw. Ortschaften sich im Umkreis von x Kilometern befinden, wird hier eine super Anleitung finden:

http://www.mamat-online.de/umkreissuche/opengeodb.php

Die dafür notwendige Geo-Datenbank kann man sich unter http://opengeodb.giswiki.org/wiki/OpenGeoDB besorgen.

Um die Datenbank so aufzubereiten wie man sie benötigt, braucht man ca. 2 Stunden. Dann muss man noch die PHP-Dateien anpassen.
Insgesamt kann man eine Datenbank incl. der Programmierung innerhalb von ca. 4 Stunden aufsetzen.

Viel Spaß dabei :-)

Statusanzeige

Mittwoch, 18. August 2010

Wenn man ein ABAP-Programm schreibt, welches eine längere Laufzeit hat, sollte eine Statusanzeige nicht fehlen. Unten wird aufgerührt, welchen Funktionsbaustein man aufrufen muss:


CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
  EXPORTING
    PERCENTAGE = 50
    TEXT = 'lese Planaufträge...'
  EXCEPTIONS
    OTHERS = 1.