- Joined
- Jul 11, 2020
- Messages
- 0
- Reaction score
- 25
- Points
- 0
Guten Tag,
seit tagen hab ich schon ein Problem damit, dass ich über eine for schleife mehrere ToggleButtons erstelle, nun sind die aber komischer weiße nicht sichtbar.
Bis jetzt habe ich versucht:
Methode:
Kurze Erklärung zum Code:
Variable Y steht für die Layout Position von den ToggleButtons die den abstand (63) jedes mal addiert.
discordAnchorPane greift auf die fxml Datei zu, da hab ich ein Tabpane von JFoenix der 6 Tabs hat, und jedes dieser Tabs hat ein AnchorPane, und im Discord Tab hat das AnchorPane eine fx id namens "discordAnchorPane".
tglBtnList könnt ihr ignorieren, das ist für etwas anderes.
Die for schleife fragt halt über die Discord Api ab zu wie vielen Guilds (Server) der Bot connectet ist, und für jede Guild wird halt ein ToggleButton erstellt mit dem Namen des Servers (das hab ich auch schon abgefragt und es wurden laut des outputs 2 ToggleButtons erstellt die anscheinend nicht sichtbar sind doch laut VisibleProperty schon)
Die Methode generateButtons wird, sobald der Discord Bot über einen Button click startet, ausgeführt.
Vielen dank.
seit tagen hab ich schon ein Problem damit, dass ich über eine for schleife mehrere ToggleButtons erstelle, nun sind die aber komischer weiße nicht sichtbar.
Bis jetzt habe ich versucht:
- die ToggleButtons to front zu bringen mit toFront()
- den AnchorPane (der Parent der mehreren ToggleButtons) to back zu bringen mit toBack()
- über output abzufragen ob die ToggleButtons visible sind, welchen Parent sie haben und ob sie disabled sind, alles so wie es sein sollte
- versucht einen ToggleButton ohne for schleife zu erstellen ob es dann funktioniert, tut er nicht
Methode:
Code:
public void generateButtons() {
int y = 14;
this.discordAnchorPane = new AnchorPane();
for (Guild g : DiscordBot.jda.getGuilds()) {
JFXToggleButton tglBtn = new JFXToggleButton();
tglBtn.setText(g.getName());
tglBtn.setStyle("-jfx-toggle-color: #d35400;");
tglBtn.setLayoutX(14);
tglBtn.setLayoutY(y);
tglBtn.setPrefHeight(56);
tglBtn.setPrefWidth(141);
tglBtnList.add(tglBtn);
this.discordAnchorPane.getChildren().add(tglBtn);
tglBtn.toFront();
y += 63;
System.out.println("DISABLED: " + tglBtn.isDisabled());
System.out.println("VISIBLE: " + tglBtn.isVisible());
System.out.println("PARENT: " + tglBtn.getParent());
}
}
Variable Y steht für die Layout Position von den ToggleButtons die den abstand (63) jedes mal addiert.
discordAnchorPane greift auf die fxml Datei zu, da hab ich ein Tabpane von JFoenix der 6 Tabs hat, und jedes dieser Tabs hat ein AnchorPane, und im Discord Tab hat das AnchorPane eine fx id namens "discordAnchorPane".
tglBtnList könnt ihr ignorieren, das ist für etwas anderes.
Die for schleife fragt halt über die Discord Api ab zu wie vielen Guilds (Server) der Bot connectet ist, und für jede Guild wird halt ein ToggleButton erstellt mit dem Namen des Servers (das hab ich auch schon abgefragt und es wurden laut des outputs 2 ToggleButtons erstellt die anscheinend nicht sichtbar sind doch laut VisibleProperty schon)
Die Methode generateButtons wird, sobald der Discord Bot über einen Button click startet, ausgeführt.
Vielen dank.
Last edited by a moderator: