JavaFX Unterschiede zwischen Scene Builder 2.0 und der ausgeführten App

SyntaxTalksToMe

Bekanntes Mitglied
Moin,

ich habe ein neues FXML Dokument gemacht und muss feststellen, dass es da teilweise extreme Unterschiede zwischen der ausgeführten App und dem Scene Builder gibt.

Ich habe mich natürlich im Vorfeld kundig. So habe ich nicht einfach alles auf ein Pane geklatscht sondern sondern Hboxen genutzt und ein GridPane.

Gut, das ImageView ist tatsächlich einfach nur draufgeklatscht in dieser Version, aber dass wo seltsam aussieht ( Textfield ) befindet sich in einer VBox. Und komischerweise hatte ich dieses Problem ein FXML Dokument vorher nicht :D
12118
12117
 

Anhänge

  • sb1.PNG
    sb1.PNG
    4,7 KB · Aufrufe: 41

Robat

Top Contributor
Hast du, nachdem du die FXML Datei im SceneBuilder bearbeitet hast, die Datei mal in deiner IDE aufgemacht und geschaut, ob sich der Code dort auch aktualisiert?
 

SyntaxTalksToMe

Bekanntes Mitglied
Jup. Habe ich. Ich weiß was du meinst. Die Bilder wo ich gepostet habe, sind nur ein kleiner Ausschnitt an Effekten. Manchmal haben auch die Textfelder seltsame Außmaße. Ich hab jetzt eigentlich nix anders gemacht.

Sind die Controls im Scene Builder zusammengequetscht bis zum geht nicht mehr, sind beim ausführen der App riesige Abstände, die im keinster Weise zusammenpassen.

Ist dass denn eine saubere Lösung?:

Ebene 1: Anchor Pane
Ebene 2: Grid Pane
Ebene 3. div. Panes inkl Controlls

Oder wäre es ratsam den Scene Builder 1 zu nehmen? Hab schon an mehreren Stellen gelesen, dass der "ausgereifter" sein soll.
 

Robat

Top Contributor
Ist dass denn eine saubere Lösung?:
Das kommt ganz drauf an was du machen willst. :p

Oder wäre es ratsam den Scene Builder 1 zu nehmen? Hab schon an mehreren Stellen gelesen, dass der "ausgereifter" sein soll.
Welchen von beiden jetzt besser ist kann ich dir nicht sagen. Ich nehm - wenn überhaupt - den, der in Intellij von Haus aus drin ist.

Poste vielleicht einfach mal deinen FXML Code .. dann kann man mal schauen ob es ggf. ein Problem mit deinem Code gibt.
 

SyntaxTalksToMe

Bekanntes Mitglied
Code:
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="681.0" prefWidth="490.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <Pane prefHeight="681.0" prefWidth="490.0">
         <children>
            <Label layoutX="244.0" layoutY="125.0" />
            <VBox layoutX="236.0" layoutY="46.0" prefHeight="342.0" prefWidth="235.0">
               <children>
                  <Label text="Label" />
                  <TextField />
                  <Label text="Label" />
                  <TextField prefHeight="51.0" prefWidth="221.0" />
                  <Label text="Label" />
                  <TextField />
               </children>
            </VBox>
         </children>
      </Pane>
   </children>
</AnchorPane>

Das sieht dann so aus

12120
 

SyntaxTalksToMe

Bekanntes Mitglied
Hab das probiert was auf der Seite deines LInks steht. Hat sich nix geändert. Auch wenn wenn das klappt.. Warum macht er beim setzten von Textfelder unterschiedliche Größen? Aber das Bedarf keines Kommentars. Denn es gibt keinen Grund dafür. Das leg ich jetzt hiermit fest :p

Ja ich nutze leider gewzungenermaßen Eclipse. Aber ich werd wieder zu intellij switchen. Nutze Eclipse nur wegen einer kommenden Ausbildung in dem Bereich. Aber naja. War trotzdem von Vorteil. Jetzt kenne ich Eclipse und Intellij und weiß, wer von Beiden die Nase vorne hat.
 

SyntaxTalksToMe

Bekanntes Mitglied
Ok, ich habe jetzt alles nach Intellij transferiert und muss sagen, dass da das gleiche Problem ist. Es ist ja praktisch auch der gleiche Scene Builder.

Um das Problem zu verdeutlichen, habe ich nochmal aussagekräftigere Screenshots gemacht. Kurz: Im Scene Builder hab ich beinahe Platzangst um meine Controls zu setzen, aber sobald die App ausgeführt wird, prangen Kilometerweite Klüfte zwischen den Controls.

Woran liegt das nur o_O
1212312124


Die Controls befinden sich übrigends in Vboxen. Außer das ImageView. Das schwebt "frei".


Danke im Voraus
 

SyntaxTalksToMe

Bekanntes Mitglied
Für einen Moment, hatte ich tatsächlich gehofft das wäre der Fall. Aber leider nein. Wenn ich das Fenster per Buttonclick öffne, wird keine Größe für die Scene festgelegt. Aber eventuell sollte ich genau das tun?

Damit öffne ich das Fenster:

Code:
 @FXML
    private void handleButtonActionGiveKey(ActionEvent event) {

        try {
            FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("KeyUser.fxml"));
            Parent root1 = (Parent) fxmlLoader.load();
            Stage stage = new Stage();
            stage.setTitle("Key User Management");
            
            stage.setScene(new Scene(root1));
            stage.show();
        }catch(Exception ex) {ex.printStackTrace();}
 

temi

Top Contributor
Im Scene Builder hab ich beinahe Platzangst um meine Controls zu setzen, aber sobald die App ausgeführt wird, prangen Kilometerweite Klüfte zwischen den Controls.

Ich würde meinen, dass der Inhalt entsprechend der verfügbaren Fläche verteilt wird. Also ist entweder die Fenstergröße fix einzustellen oder mittels geeigneter Einstellungen das Verhalten der Elemente bei Größenänderung des Fensters festzulegen.

Ich kann dir allerdings grad nicht genau sagen wie, sorry.
 

SyntaxTalksToMe

Bekanntes Mitglied
Ich bin deiner Vermutung gefolgt, leider keine Änderung in Sicht. Ich hab gegoogelt und da haben auch einige dieses Problem. Da lag es aber an anderen Dingen, die bei mir richtig sind.

Dieser Scene Builder bereitet mir Kopfschmerzen. Ich halte mich schon viel zu lange wieder mit diesem Firlefanz auf und so langsam werde ich porös.

Hier ein anderes Beispiel:


Scene Builder:
12125

Running App:
12126

Da ist es im Scene Builder beschissen aber in der laufenden App richtig.

Das muss doch ne Ursache haben.....Ich habe auch schon mit den Scaling Properties rumgespielt. Leider auch kein Unterschied.

Manchmal kann ich auch plötzlich keine Controls mehr verschieben oder wo reinsetzen, oder die Pane Größe verändern über die Pfeile. Ich muss dann übers Menü gehen. Speicher ich ab, schließe das Fenster und öffne es neu, geht es plötzlich wieder.

Mit diesen Scene Buildern tut mir der Arsch weh.
 
Zuletzt bearbeitet:

dzim

Top Contributor
Wenn ich es richtig im Kopf hab, kann Eclipse mit e(fx)clipse, und IntelliJ out-of-the-box, sehr gut mit FXML umgehen. Ich weiss, dass der SceneBuilder verlockend ist, aber ich habe ihn tatsächlich nie benutzt - also seit JavaFX 2.1 oder so vorgestellt wurde. Stattdessen ist der Live-Preview in e(fx)clipse ziemlich praktisch.

Ich hab noch nie den Sinn des Einsatzes von AnchorPane verstanden, aber das ist wohl auch Geschmackssache.
Ich würde jedoch vermuten, dass hier der ImageView nicht eingeschränkt ist, wieviel Höhe er haben darf und irgendwo anders ist ein PrefWidth drauf und schon ist alles kaputt. Schau vielleicht da mal nach... Eventuell liegt da ja der Hund begraben.
 

Trjavnamen

Bekanntes Mitglied
Es ist zwar schon eine Weile her das diese Thema hereingestellt wurde aber Grundsätzlich wird ja die Scene und die Achorpain in der "Main" erstellt mit der Größenangabe aber die Verknüpfung in SceneBuilder mit der Main hat nicht zur Folge das die Größen übernommen werden. Die Main ertsellt auch nicht das FXML Dokument. Also ist grundsäzlich alles in SceneBuilder zu erstellen. Das Anchorpane ist eine Fläche falschendie auf die ensprechende Größe gezogen oder im Editor recht eingegeben werden muß. Ist die Anchorpane an der falschen Stelle bzw die Borderpane ist das Bild was gezeigt wird das Ergebnis. Also Anchorpane links selektieren und die Blauen Ecken großziehen oder recht die High and Wight eingeben .
 

Trjavnamen

Bekanntes Mitglied
Sorry dein FXML dokument oben träumt von diesen Dingen kannes sein das deine Classe zwar das FXML Dokument irgendwie aufruft aber die Komponenten die in deiner KLasse eigegeben wurden nur teilweise ins Fenster passen. Oder ganz banal. Ich habe noch nicht erlebt das die Komponenten aus einer Klasse herangezogen werden um ein FXMLDokument zu erstellen. Ich würde zu gern wissen wie man das Macht. Ich habe es mit dem verknüpen der Main im Builder versucht. ergebnis (nix) Du hast offensichlich beides getan. IN deiner KLasse die Gridpane und Pain usw.die aber nicht in deinem FXMLDokument und eine pane und drei Label im FXML Dokument. der Rest aus der Classe ist nicht wiederzufinden.Dein Run löst beide Vorgänge aus ujnd vermischt beides.Wie das dann verarbeitet wird enzieht sich meiner Kenntnis.
SceneBuilder generiert für die Kontrolls und die Komponenten den Aufruf aber die größe und das Verhalten wird im FXMLDokument gespeichert.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A JLabel: Unterschiede zw. JRE 1.3 und 1.5 in der Darstellung AWT, Swing, JavaFX & SWT 3
M JavaFX Abstand zwischen AnchorPane und Labels in dem HBox halten AWT, Swing, JavaFX & SWT 1
U 2dgraphics unterschied zwischen .scale und AffineTransform.getScaleInstance AWT, Swing, JavaFX & SWT 4
S JavaFX Fehler zwischen View und Controller bei MouseEvent (MVC) AWT, Swing, JavaFX & SWT 13
missy72 JavaFX TableView Spalte zwischen den Zeilen AWT, Swing, JavaFX & SWT 5
L Kommunikation zwischen Klassen / Konstruktoren bei Swing AWT, Swing, JavaFX & SWT 9
Z Swing Kann man denn abstand zwischen zwei Buttons berechnen AWT, Swing, JavaFX & SWT 5
M Kommunikation zwischen zwei Stages AWT, Swing, JavaFX & SWT 0
T JavaFX - Datenübergabe zwischen Scenes AWT, Swing, JavaFX & SWT 8
Informatiknoob AWT Zahlenraten (eine Zahl zwischen 1 und 10) AWT, Swing, JavaFX & SWT 1
ralfb1105 JavaFX Daten zwischen Controllern austauschen- neue Frage AWT, Swing, JavaFX & SWT 7
ralfb1105 JavaFX Daten zwischen Controller "austauschen" AWT, Swing, JavaFX & SWT 65
L Wörter zwischen zwei Grenzen einlesen. AWT, Swing, JavaFX & SWT 13
P Zwischen verschiedenen Panels wechseln AWT, Swing, JavaFX & SWT 3
M Schnittpunkte zwischen zwei Graphics2D Elemente ermitteln. AWT, Swing, JavaFX & SWT 5
O Focus zwischen Chat und Spiel wechselns AWT, Swing, JavaFX & SWT 3
Z Swing Drag&Drop zwischen JTable und JTree AWT, Swing, JavaFX & SWT 4
Arif AWT Unterschied zwischen RED und red AWT, Swing, JavaFX & SWT 4
D Swing Kommunikation zwischen zwei GUI's AWT, Swing, JavaFX & SWT 2
L JavaFX Verbindung zwischen Beschreibung und Listener (Codebehind Klasse) AWT, Swing, JavaFX & SWT 4
D Zwischen Null-Layouts wechseln AWT, Swing, JavaFX & SWT 2
K Wie kann ich eine Variable zwischen Tab Klassen weitergeben ? AWT, Swing, JavaFX & SWT 7
S JavaFX (Best Practise) Daten zwischen Controllern austauschen AWT, Swing, JavaFX & SWT 1
P 2D-Grafik Bogen(Arc) zwischen zwei Punkten zeichnen AWT, Swing, JavaFX & SWT 2
P Drag & Drop zwischen Panels AWT, Swing, JavaFX & SWT 0
N Swing CardLayout: Problem beim Wechsel zwischen den JPanels AWT, Swing, JavaFX & SWT 3
B Vertikale Größenänderung zwischen zwei Widgets AWT, Swing, JavaFX & SWT 2
T Swing Kompatibilitätsproblem zwischen Swing und JavaFX AWT, Swing, JavaFX & SWT 4
S Verzögerung zwischen Cursorbewegung einbauen AWT, Swing, JavaFX & SWT 1
3 Swing Vertikaler Separator zwischen JMenu's AWT, Swing, JavaFX & SWT 2
D JGridLayout zwischen Zeilen bestimmter Abstand AWT, Swing, JavaFX & SWT 3
S Unterschied zwischen id und fx:id AWT, Swing, JavaFX & SWT 5
F Swing JAVA GUI Übergabe von Werten zwischen mehreren Fenstern/Klassen AWT, Swing, JavaFX & SWT 10
B Datenübergabe zwischen Tabs und Daten speichern AWT, Swing, JavaFX & SWT 2
B Kommunikation zwischen zwei Fenstern und vorübergehende Speicherung der Eingaben AWT, Swing, JavaFX & SWT 4
B Linie zwischen 2 Elementen AWT, Swing, JavaFX & SWT 5
D animierte kameraansicht zwischen gezeichneten objekten AWT, Swing, JavaFX & SWT 4
B Swing JMenu zwischen anderen Componenten AWT, Swing, JavaFX & SWT 4
F Swing Ladebildschirm zwischen zwei SWING Frames AWT, Swing, JavaFX & SWT 11
T JTabbedPane - neuen Tab zwischen zwei anderen Tabs hinzufügen AWT, Swing, JavaFX & SWT 2
GUI-Programmer JWindow zwischen den Desktopbild und Dektopverknüpfungen AWT, Swing, JavaFX & SWT 16
Psypsy Swing SwingWorker unterschied zwischen setProgress und process AWT, Swing, JavaFX & SWT 2
propra Schnittpunkt zwischen Objekt und Kante finden AWT, Swing, JavaFX & SWT 24
H Swing Wechsel zwischen Frames AWT, Swing, JavaFX & SWT 6
S Swing Zwischenräume zwischen JPanels AWT, Swing, JavaFX & SWT 4
A Daten umherschieben zwischen zwei Klassen AWT, Swing, JavaFX & SWT 40
X zwischen 2 JPanels "elegant" wechseln AWT, Swing, JavaFX & SWT 3
B LayoutManager Positionierung zwischen zwei Layoutkomponenten AWT, Swing, JavaFX & SWT 2
N Swing DnD zwischen zwei JTrees AWT, Swing, JavaFX & SWT 2
G Unterschiedliche Pfadangabe zu Icons zwischen JApplet und JWindow? AWT, Swing, JavaFX & SWT 2
D JTabel: Überschrift, Abstand zwischen Tabellen, Spalten-Farbe ändern AWT, Swing, JavaFX & SWT 2
G Swing MigLayout: Lücken zwischen Elementen entfernen AWT, Swing, JavaFX & SWT 2
F Variablen zwischen Frames AWT, Swing, JavaFX & SWT 5
V Swing JLabel zwischen 2 JPanel hin- und herbewegen. AWT, Swing, JavaFX & SWT 12
E Drag&Drop zwischen 2 Listen AWT, Swing, JavaFX & SWT 5
M SWT DND zwischen zwei TreViewern in beide Richtungen AWT, Swing, JavaFX & SWT 10
buntuswalus Swing Datentransfer zwischen JPanels AWT, Swing, JavaFX & SWT 18
P Swing Beziehungen zwischen 3 Klassen AWT, Swing, JavaFX & SWT 4
R Swing Kommunikation zwischen Panels AWT, Swing, JavaFX & SWT 2
S Schnittstelle zwischen Haupt und Nebenfenster AWT, Swing, JavaFX & SWT 17
algorismi Unterscheiden zwischen zwei JLists AWT, Swing, JavaFX & SWT 5
F JCombobox zwischen setEditable true und false switchen AWT, Swing, JavaFX & SWT 2
I Swing JPanel Tab zwischen GUI Elementen AWT, Swing, JavaFX & SWT 6
L Swing Kommunikation zwischen JMenuBar und anderen Componenten AWT, Swing, JavaFX & SWT 2
data89 Verbindungslinien zwischen Formen auf einer "Zeichenfläche" AWT, Swing, JavaFX & SWT 2
DeeDee0815 SWT Text Widget: Zwischen Single und Password umschalten AWT, Swing, JavaFX & SWT 3
J Unterschied zwischen SwingWorker und Threads AWT, Swing, JavaFX & SWT 4
G Variblenwert zwischen zwei Klassen übergeben AWT, Swing, JavaFX & SWT 3
G Gap zwischen JButton-Rand und JButton-Icon verändern AWT, Swing, JavaFX & SWT 2
T Kommunikation zwischen Zwei GUI-Klassen AWT, Swing, JavaFX & SWT 2
T Kommunikation zwischen zwei jFrames AWT, Swing, JavaFX & SWT 4
T GridLayout, zu wenig Platz zwischen Widgets AWT, Swing, JavaFX & SWT 3
S Abstand zwischen Labeln auf 0 setzen AWT, Swing, JavaFX & SWT 6
J Unterschied zwischen nicht-statischen und statischen Klassen AWT, Swing, JavaFX & SWT 5
G Datenaustausch zwischen zwei JFrames AWT, Swing, JavaFX & SWT 3
O Zwischen mehreren Bildern wechseln AWT, Swing, JavaFX & SWT 6
T JTextField, der nur Werte zwischen 100 und 1000 zulässt AWT, Swing, JavaFX & SWT 28
M Linie zwischen JComponents AWT, Swing, JavaFX & SWT 5
G Abstand zwischen den Buttons in einer Toolbar AWT, Swing, JavaFX & SWT 3
G Drag&Drop zwischen JTables AWT, Swing, JavaFX & SWT 2
P Unterscheiden zwischen Mautasten-Druck? AWT, Swing, JavaFX & SWT 3
B Abstand zwischen einzelnen Elementen einstellen AWT, Swing, JavaFX & SWT 2
I Drag and Drop zwischen zwei JTables AWT, Swing, JavaFX & SWT 5
N JTable Abstand zwischen einzelnen Spalten AWT, Swing, JavaFX & SWT 6
K JFreeChart: Platz zwischen Balken AWT, Swing, JavaFX & SWT 3
G Zwischen Panels in einem JFrame wechseln AWT, Swing, JavaFX & SWT 4
M Unterschied zwischen paintComponent() und paint()? AWT, Swing, JavaFX & SWT 4
R Navigieren zwischen mehreren Fenstern AWT, Swing, JavaFX & SWT 7
F Wie gebe ich Parameter zwischen Actions weiter? AWT, Swing, JavaFX & SWT 2
K abstände zwischen Panels? AWT, Swing, JavaFX & SWT 3
M Freiraum zwischen Knoten im JTree AWT, Swing, JavaFX & SWT 14
M Parameterübergabe zwischen Frames AWT, Swing, JavaFX & SWT 2
P in JFrame zwischen verschiedenen JPanels wechseln AWT, Swing, JavaFX & SWT 7
M Breite veraendern zwischen 2 JPanels AWT, Swing, JavaFX & SWT 2
J Separator zwischen den einzelnen Symbolen in der Toolbar AWT, Swing, JavaFX & SWT 4
A Button zwischen zwei Panels verschieben. AWT, Swing, JavaFX & SWT 6
G abstand zwischen den buttons unterschiedlich AWT, Swing, JavaFX & SWT 2
S Wechsel zwischen JFrame und JDialog durch Benutzerauswahl AWT, Swing, JavaFX & SWT 2
Z komponenten "einfrieren" - abstand zwischen AWT, Swing, JavaFX & SWT 10
G Ungewollter Abstand zwischen Gui -Elementen / Insets setzen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben