TextField in GridPane beschränken

Diskutiere TextField in GridPane beschränken im Java Basics - Anfänger-Themen Bereich.
O

ocsme

Hallo zusammen,

ich verstehe nicht wie ich ein TextField in einem GridPane auf die Größe beschränken kann? Es dehnt sich ja immer wieder auf das größte Element aus :-( Das Nervt!
Des weiteren würde ich sehr gerne ein Label im GridPane anders Positionieren. Ich würde gerne die Label öffnen und anzahl rechts an die Textfilds an bringen.

Hier mal der Code:
Java:
import javafx.application.Application;
import javafx.geometry.VPos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.FlowPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.VBox;
import javafx.scene.text.TextAlignment;
import javafx.stage.Stage;

public class Test extends Application {

    Button abbrechen = new Button("Abbrechen");
    Button okay = new Button("Okay");
    Label text = new Label(
            "Hier kommt der etwas größere Test rein auch wenn es nervt so muss \n" + "hier echt viel Text stehen!");
    Label oeffnen = new Label("Oeffnen");
    Label anzahl = new Label("Anzahl");
    TextField oeffnenText = new TextField();
    TextField anzahlText = new TextField();

    public void start(Stage primaryStage) {
        GridPane gridpane = new GridPane();
        gridpane.setHgap(10);
        gridpane.setVgap(5);
        gridpane.setGridLinesVisible(true);
        oeffnenText.setPrefWidth(10);
        gridpane.add(text,1,0, 2,1);
        gridpane.add(oeffnen,1,1);
        gridpane.add(oeffnenText,2,1);
        gridpane.add(anzahl,1,2);
        gridpane.add(anzahlText,2,2);
        gridpane.add(abbrechen,1,3);
        gridpane.add(okay,2,3);
        
        abbrechen.setOnAction((e) -> System.exit(0));

        Scene scene = new Scene(gridpane);
        primaryStage.setTitle("Test");
        primaryStage.setScene(scene);
        primaryStage.show();

    }

    public static void main(String[] args) {
        launch(args);
    }

}
 
MoxxiManagarm

MoxxiManagarm

Du könntest die Textfelder in einem Panel wrappen, dann würde sich nur der Container dehnen und das Textfeld könnte unverändert bleiben.
 
O

ocsme

Ah einfach mit einem Pane :-D
Oh man kennt jemand ein gutes Buch zu JavaFX? So komme ich ehrlich gesagt nicht wirklich gut vorran :-D

Java:
    oeffnenText.setPrefWidth(10);
        Pane pane = new Pane();
        pane.getChildren().add(oeffnenText);
        GridPane gridpane = new GridPane();
        gridpane.setHgap(10);
        gridpane.setVgap(5);
        gridpane.setGridLinesVisible(true);
        gridpane.add(text,1,0, 2,1);
        gridpane.add(oeffnen,1,1);
        gridpane.add(pane,2,1);
        gridpane.add(anzahl,1,2);
        gridpane.add(anzahlText,2,2);
        gridpane.add(abbrechen,1,3);
        gridpane.add(okay,2,3);
 
O

ocsme

und noch eine Frage hätte ich :) Wie bekomme ich es denn hin das meine kleine Fenster beim Vergrößern in der Mitte bleiben?
Wenn ich die in eine BorderPane stecke in den Center dehnt sich das Gridpane wieder aus und man sieht es wieder oben links =(
 
MoxxiManagarm

MoxxiManagarm

Ah einfach mit einem Pane :-D
Ja sorry die Dinger heißen immer überall etwas anders ^^

und noch eine Frage hätte ich :) Wie bekomme ich es denn hin das meine kleine Fenster beim Vergrößern in der Mitte bleiben?
Wenn ich die in eine BorderPane stecke in den Center dehnt sich das Gridpane wieder aus und man sieht es wieder oben links =(
Ich bin kein Experte in JavaFX, aber ich würde die Properties probieren https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/Region.html#maxWidthProperty
 
Thema: 

TextField in GridPane beschränken

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben