मेरे पास जावाएफएक्स एप्लीकेशन है जिसमें केवल एक FXML फ़ाइल है। इस फ़ाइल में मेरे पास एक एंकरपैन है जिसमें इसके अंदर एक स्टैकपैन है। यहाँ स्क्रीनशॉट है:पैनल ऑटो आकार बदलने के अंदर जावाएफएक्स पैनल
जब मैं इस आवेदन शुरू, मैं AnchorPane साथ स्वचालित रूप से StackPane आकार बदलने के लिए चाहते हैं। इस प्रकार; StackPane स्वचालित उपलब्ध चौड़ाई और ऊंचाई स्वचालित रूप से मिलेगा। फिलहाल जब मैं एप्लिकेशन का आकार बदलता हूं, एंकरपैन स्वचालित रूप से आकार बदल रहा है लेकिन स्टैकपैन अपने निश्चित आकार के रूप में रहता है।
मैं स्वचालित रूप से स्टैकपैन का आकार कैसे बदल सकता हूं और इसे अपने मूल पैनल के अंदर पूरी तरह से फैला सकता हूं?
मेरे कोड
Main.java
package app;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class Main extends Application {
public static void main(String[] args) {
Application.launch(args);
}
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("Main.fxml"));
Scene scene = new Scene(root,800,600);
scene.getStylesheets().add(this.getClass().getResource("/app/style1.css").toExternalForm());
stage.setScene(scene);
stage.show();
}
}
MainController.java
package app;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.StackPane;
public class MainController implements Initializable {
@FXML
private AnchorPane anchorPane;
@FXML
private StackPane stackPane;
@Override
public void initialize(URL url, ResourceBundle rb) {
stackPane.setPrefSize(anchorPane.getPrefWidth(), anchorPane.getPrefHeight()); //didn't work
}
}
Main.fxml
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane fx:id="anchorPane" xmlns:fx="http://javafx.com/fxml" fx:controller="app.MainController">
<StackPane fx:id="stackPane" ></StackPane>
</AnchorPane>
style1.css
#anchorPane {
-fx-border-width: 2px;
-fx-border-color: chartreuse;
}
#stackPane {
-fx-border-width: 2px;
-fx-border-color: red;
/* didn't work */
-fx-hgap: 100%;
-fx-vgap: 100%;
}
क्या आप इस उत्तर को स्वीकार कर सकते हैं। हमें यह जानने की अनुमति होगी कि इस प्रश्न का समाधान है। अच्छा निष्कर्ष, इस के लिए खोज रहा था। – blo0p3r
@ blo0p3r मैं करूँगा लेकिन अब सिस्टम कहता है "आप 2 दिनों में अपना जवाब स्वीकार कर सकते हैं";) उम्मीद है कि और भी अन्य सुझाव मिलेंगे। –
हाय। एक बटन जोड़ा गया है। उदाहरण के लिए। \t \t \t बटन fx: आईडी = "बटन" layoutX = "172.0" layoutY = "195.0" onAction = "# ingresarLogin" prefHeight = "35.0" prefWidth = "87.0" पाठ = "Ingresar" /> \t यह सही है ?? धन्यवादएसएस –