Fortran: Japi
<< zur Fortran-Startseite | |
< f03gl | pilib > |
Allgemeines
[Bearbeiten]Auch für den Bereich des Graphical-User-Interface-Building sind Fortran-Bibliotheken verfügbar. Einerseits gibt es kommerziell-proprietäre Bibliotheken wie Interacter, Winteracter oder GinoMenu, die allerdings eindeutig auf rein professionellen Einsatz abzielen und deren Preise auch dementsprechend hoch liegen.
Hier soll darum anhand eines einfachen Beispiels auf eine mögliche Open-Source-Alternative zu diesen kommerziellen Bibliotheken hingewiesen werden, nämlich japi. japi steht unter der GNU Lesser General Public License und ist ein Java AWT-Wrapper. japi ist für verschiedene Programmiersprachen erhältlich, so auch für FORTRAN 77. Mit kleineren Adaptierungen kann diese Bibliothek aber auch mit Fortran 90/95 verwendet werden. Mit japi ist derzeit nur ein Teil der AWT-Möglichkeiten abrufbar. Der Einsatz von japi setzt zwingend eine aktuelle Java-Installation (JRE oder JDK) auf dem Computer voraus.
japi-Installation
[Bearbeiten]- Download der Dateien "japi.f" und "libjapi.zip" von der japi-Homepage.
- Entpacken der "libjapi.zip" (die Linux-Version enthält z.B. nur die "libjapi.a"-Bibliotheksdatei).
- Verschieben der Bibliotheksdatei in ein geeignetes Verzeichnis, z.B. unter Linux in "/usr/lib" oder "/usr/local/lib".
Beispiel
[Bearbeiten]Fortran 90/95-Code (free source form) |
program jbsp include "japi.f95" integer :: frame, obj integer, dimension(5) :: button if( .not. j_start()) then write(*,*) "JAPI-Problem" call end () end if frame = j_frame("JAPI-Beispiel") call j_setborderlayout(frame) button(1) = j_button(frame, "Button 1") button(2) = j_button(frame, "Button 2") button(3) = j_button(frame, "Button 3") button(4) = j_button(frame, "Button 4") button(5) = j_button(frame, "Button 5") call j_setborderpos(button(1), J_LEFT) call j_setborderpos(button(2), J_RIGHT) call j_setborderpos(button(3), J_TOP) call j_setborderpos(button(4), J_BOTTOM) call j_show(frame) do obj=j_nextaction() if(obj == frame) call end () if(obj == button(1)) write (*,*) "Button 1 gedrückt" if(obj == button(2)) write (*,*) "Button 2 gedrückt" if(obj == button(3)) write (*,*) "Button 3 gedrückt" if(obj == button(4)) write (*,*) "Button 4 gedrückt" if(obj == button(5)) write (*,*) "Button 5 gedrückt" end do call end () end program jbsp subroutine end call j_quit() stop end subroutine end |
Die Include-Datei "japi.f95" ist eine adaptierte "japi.f"-Datei. "japi.f" ist als Teil der japi-Bibliothek im FORTRAN 77-Format auf der unten genannten japi-Webseite zu finden. Für eine Minimalanpassung müssen nur die C-Kommentarzeichen aus FORTRAN 77 gegen die !-Kommentarzeichen von Fortran 95 ausgewechselt werden.
Kompilieren, Linken:
gfortran -o jbsp jbsp.f95 -ljapi
Reference Manuals, sowie Programming Manuals zu japi sind auf der nachfolgend angeführten Homepage in verschiedenen Dateiformaten abrufbar.
Weblinks
[Bearbeiten]<< zur Fortran-Startseite | |
< f03gl | pilib > |