les gars, je suis nouveau dans JavaFX, donc je sais que cela va être stupide (ou facile à résoudre), mais j'ai créé un menu Togglebuttons dans une classe, que je voudrais mettre à la Principale.Utilisation d'autres classes dans la scène
classe Mon LeftMenu ressemble à ceci:
package application;
import javafx.scene.control.ToggleButton;
import javafx.scene.control.ToggleGroup;
import javafx.scene.control.Tooltip;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.VBox;
public class LeftMenu extends BorderPane{
public static void main(String[] args) {
}
public LeftMenu() {
ToggleGroup group = new ToggleGroup();
ToggleButton sr = new ToggleButton("SR");
sr.setTooltip(new Tooltip("SR"));
sr.setPrefWidth(40);
sr.setPrefHeight(40);
sr.setOnAction(e-> {
if(sr.isSelected())
System.out.println(sr.getText() + " ON");
else
System.out.println(sr.getText() + " OFF");
});
ToggleButton mh = new ToggleButton("MH");
mh.setTooltip(new Tooltip("MH"));
mh.setPrefWidth(40);
mh.setPrefHeight(40);
mh.setOnAction(e-> {
if(mh.isSelected())
System.out.println(mh.getText() + " ON");
else
System.out.println(mh.getText() + " OFF");
});
ToggleButton ssfha = new ToggleButton("SSFHA");
ssfha.setTooltip(new Tooltip("SSFHA"));
ssfha.setPrefWidth(40);
ssfha.setPrefHeight(40);
ssfha.setOnAction(e-> {
if(ssfha.isSelected())
System.out.println(ssfha.getText() + " ON");
else
System.out.println(ssfha.getText() + " OFF");
});
sr.setToggleGroup(group);
mh.setToggleGroup(group);
ssfha.setToggleGroup(group);
//Menu
VBox level = new VBox();
level.getStyleClass().addAll("vbox");
level.getChildren().addAll(sr, mh, ssfha);
}
}
Et je voudrais le mettre ici (je ne dois d'erreurs, donc je ne sais pas ce qui est le cas):
package application;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Main extends Application {
Stage window;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception{
{
Stage window = primaryStage;
window.setTitle("Menu Test");
window.setMaximized(true);
StackPane root = new StackPane();
BorderPane lMenu = new LeftMenu();
BorderPane rightPane = new BorderPane();
root.getChildren().addAll(lMenu,rightPane);
Scene scene = new Scene(root);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
window.setScene(scene);
window.show();
}
}
}
Merci de votre aide.
supprimez d'abord la méthode principale de votre classe personnalisée, et vous pouvez utiliser la scène directement depuis la méthode de démarrage! –