pixel-genaues Layout möglich ?

Na_dine

Mitglied
Hallo,
ich entwerfe ein Applet für eine Homepage In diesem Applet soll ein Raumplan angezeigt werden, auf dem kontextgebunden immer die aktuell laufenden Veranstaltungen angezeigt werden.
Ich habe den Raumplan als JPG und würde ihn als Hintergrund einfügen. Nun könnte ich über das ganze ein Layout legen bzw. genau die richtigen Pixel treffen damit jeder Veranstaltungsname an der richtigen Position ist.

Dieses Gebäude hat 50 verschiedene Räume, die alle verschieden groß sind,dass heißt ich würde spontan zum GridLayout greifen, das würde aber super viel Arbeit allein beim Layouten bedeuten. Hat jemand eine andere Idee?
Gibt es vielleicht eine Möglichkeit wie in html/CSS so etwas wie position: absolut; und dann einfach die Pixelangabe auf dem Plan?

Ist sowas überhaupt mit Java möglich?
Vielen Dank für eure Hilfe
Gruß, Nadine
 
Wenn Du die ganze Kontrolle haben möchtest, zeichnest Du am besten mit Hilfe der Grafikoperationen von Java selbst. So kannst Du deine Karte laden und dann beliebig darüberzeichnen.

Würde mir an Deiner Stelle überlegen, ob nicht auch reines HTML+CSS für die Darstellung genügen würde. Beispielsweise mittels PHP die Datenbank o.ä. lesen, dann Divs entsprechend über die Karte legen.
 
Hallo,
dankeschön für die Hilfe. Hmm, ich glaube, da ich nicht sehr viel Erfahrungen von Java habe und da noch nie etwas mit Graphics... gemacht habe, werde ich es erstmal nur mit PHP versuchen, dass geht bestimmt etwas schneller.
Vielen Dank für den Tip!
LG, Nadine
 
Hi Nadine,

ich habe früher viel PHP entwickelt und würde davon insofern abraten, als dass
JAVAs Grafik Optionen schnell zu erlernen sind und ich schlicht und einfach ein starker Befürworter von J2EE/JEE etc. bin.

Aber weil es ja schnell gehen soll würde ich Folgendes machen:

-Kein Applet, sondern

-DIV Layout (CSS) mit JavaScript

-Die DIVS stehen für die Räume und JavaScript Funktionen nehmen die ID
des jeweiligen DIVs und übertragen das Ganze an einen

-MVC Controller (Ich würde Spring MVC als sehr wartungsfreundlich bezeichnen).

Sprich Deine JavaScript Funktion könnte heissen enterRoom( divId ){...}
und z.B. bei einem 'onsubmit' wird die URL des Controllers gerufen, als Parameter über POST(schön versteckt) wird die ID des DIVs angehängt. GET Variante ginge auch: 'http://www.mywebapp.de/myController?id=1'

Im Controller kannst Du bestimmen, was das Backend mit der ID anfangen soll.

Es gibt noch mehr und trickreichere Varianten, aber ich habe versucht ein einfaches, schnelles Beispiel zu schildern, welches garantiert funktionieren wird.

Gruß

Tim
 
Ich möchte das das genaue gegenteil meines vorredners empfehlen, nämlich es ohne Java zu machen. Zum einen bin ich java gegner (es gibt bedeutend bessere programmiersprachen und frameworks), aber das sei mal dahingestellt. java ist eigentlich nicht wirklich für webseiten geeignet, weil:
einerseits verlangt es zusätzliche installierte software auf dem client-rechner (welche im übrigen selbst auf neuesten rechnern abartig langsam ist), andererseits vernichtet es jeglichen zugang für leute mit textbrowser, pda oder sehbehinderung (die spezielle software zum durchsuchen von webseiten haben, z.b. sprachausgabe).
außerdem musst du dich bei aktualisierungen des raumplans drum kümmern, dass niemand gecachte alte java-binaries hat

das mit den divs würd ich auch so machen wie tim, allerdings ohne MVC, da das für jemanden der noch nicht so viel gemacht hat recht schwierig sein könnte.

entweder legst du nun die divs über den raum und lässt sie per php befüllen, das sollte sehr einfach gehen.

oder noch einfacher, falls du die raumbelegung auf klick sehen willst:
du erstellt eine map und legst sie mit entsprechenden links auf eine php-seite über das bild:
http://de.selfhtml.org/html/grafiken/verweis_sensitive.htm

gruß

Edit: hmm, war wohl schon lange nicht mehr da, meine ganzen alten beiträge sind weg...
 
Zuletzt bearbeitet:
Zum einen bin ich java gegner (es gibt bedeutend bessere programmiersprachen und frameworks)

Ich liebe immer solche Aussagen ... einfach mal was in den Raum zu werfen, ohne auch nur den Ansatz einer Begründung mitzuliefern. Schon alleine das disqualifiziert dich eigentlich.

einerseits verlangt es zusätzliche installierte software auf dem client-rechner

... die bei 95% aller Rechner installiert ist. Außerdem gibts Java auch als ausgereifteren PHP-Ersatz in Form von JEE und J2EE

andererseits vernichtet es jeglichen zugang für leute mit textbrowser, pda oder sehbehinderung (die spezielle software zum durchsuchen von webseiten haben, z.b. sprachausgabe)

... was der Einsatz von JavaScript auch nicht unbedingt besser macht

welche im übrigen selbst auf neuesten rechnern abartig langsam ist

... und nebenan wird auch noch Hexenverbrennung ausgeübt (wer die Anspielung nicht versteht: Das war mal so, mittlerweile braucht sich die Performance von Java nicht mehr zu verstecken!)

außerdem musst du dich bei aktualisierungen des raumplans drum kümmern, dass niemand gecachte alte java-binaries hat

Nicht nur Java wird gecached.

@Tornado

Wie du das letztendlich löst, ist wohl Geschmackssache. Obs was schönes mit Ajax wird, JSF, ein Applet, JavaFX, Flash, ... solltest du von deinen Vorlieben, Erfahrungen, Voraussetzungen und deiner Neugierde abhängig machen.
 
Moin,

java ist eigentlich nicht wirklich für webseiten geeignet, weil:
einerseits verlangt es zusätzliche installierte software auf dem client-rechner (welche im übrigen selbst auf neuesten rechnern abartig langsam ist), andererseits vernichtet es jeglichen zugang für leute mit textbrowser, pda oder sehbehinderung (die spezielle software zum durchsuchen von webseiten haben, z.b. sprachausgabe).

Da hat jemand nicht aufgepasst, als es ging um

-Trennung von Frontend & Backend (wo bitteschön ist im Frontend einer J2EE App
Java!)

-Frameworks und Webstandards (Dann liegt die J2EE Welt falsch aber warum ist es
ein weltweiter Standard für Webapplikationen?)

-Und Webentwicklung allgemein geht:
zusätzliche installierte software auf dem client-rechner
Denn wo benötigt denn J2EE eine extra Installation auf irgendeinem Client?!
Hier wird eindeutig ein Applet mit J2EE etc. verwechselt...

-Wenn schon von Java Binaries gesprochen wird - wieso macht das Probleme
und soll PHP besser sein? Man kann eine gute Webapp per Parameter oder Adminoberfläche problemlos zur Laufzeit skalieren.

Mein Vorredner sagte s richtig: "Hexenverbrennung", d.h. nämlich man kennt etwas nicht, offensichtlich ist es einem deshalb unheimlich. Darum verteufelt man es und gibt Tips, die eine mangelnde Praxis und (kritische) Auseinandersetzung mit der Materie im Allgemeinen erkennen lassen. ;-]

Back to Topic ;-)

Ich kenne einige sehr professionelle PHP Anwendungen.
Persönlich bin ich für J2EE, sehe aber durchaus Vor und nachteile beider Seiten.
Fragt jemand in einem Java Forum, empfehle ich Möglichkeiten für Java.

Noch jemand Tips für Nadine (Java, bitte :))?

Gruß Tim
 
Die ursprüngliche Frage war, wie/ob ein Applet für die genannte Aufgabenstellung verwendet werden kann. Und dass Applets technisch gesehen nicht der Weisheit letzter Schluss sind, müssen sogar die begeistertsten Java-Anhänger zugeben, oder (siehe nur Anzahl von Applets vs. Flash-Apps)?
Würde meinen, dass sich die Alternative HTML+CSS anbietet. Dass für die serverseitige Generierung des Codes J2EE verwendet werden kann, ist klar - hat aber nix mit Grafikoptionen von Java zu tun. PHP war rein ein Beispiel und leistet oft und rasch gute Dienste - Ihr werdet doch nicht die Skriptsprache, die auf tutorials.de verwendet wird, kritisieren, oder? ;)

Bisschen widersprichst Du Dir aber schon, Tim, oder? ;)
...würde davon insofern abraten, als dass
JAVAs Grafik Optionen schnell zu erlernen sind und ich schlicht und einfach ein starker Befürworter von J2EE/JEE etc. bin.
Wie jetzt? Grafik-Optionen von Java nutzen, d.h. Applet, oder J2EE, also serverseitige Generierung von HTML? ;)
 
@matdacat

Und dass Applets technisch gesehen nicht der Weisheit letzter Schluss sind, müssen sogar die begeistertsten Java-Anhänger zugeben
Ja, sehe ich genau so.

Bisschen widersprichst Du Dir aber schon, Tim, oder?
haha so gesehen ja. Gemeint ist aber gewesen: Wenn man es unbedingt mit Java oder PHP etc. machen will, würde ich Java nehmen.

Die klassische J2EE App hingegen würde aber eher eine Trennung vorsehen von
-Presentation -
-Business -
-Persistence Layern
Und hier würde ich persönlich probieren, möglichst wenig Logik im Frontend unterzubringen, sprich "möglichst stumpfe" JS Funktionen mit CSS zu verwenden
und die Logik im Backend zu behandeln.

Nochmal kurz: Wenn Java ODER PHP im Frontend: Dann Java mit den gut erlernbaren Java Grafik Optionen (ich selbst).

Wie Du ja angedeutet hast, gibt es (kenne ich auch) ebenfalls sehr gute Möglichkleiten Flash im Frontend und PHP oder Java im Backend zu benutzen.

Gruß Tim
 
@matdacat

Ja, sehe ich genau so.

dito, dennoch haben Sie Ihre Daseinsberechtigung. Eine gesamte Design-Website würde ich nicht als Applet realisieren (Flash ist hierfür besser geeignet), für wissenschaftliche Beiträge oder Simulationen sehe ich aber keinen Grund Flash anstelle von Applets zu verwenden.

Bin mal gespannt, wie JavaFX den Markt aufmischt ;)
 
Zurück