Diskuze: Přidání buttonu v JavaFX
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, Ty sice vytvoříš tlačítko, ale jak říkáš, nikde ho nepřidáváš do scény. Přidej si do kontroleru ještě referenci na anchor pane, který má metodu getChildren, která vrátí observable list jeho "dětí". Do tohoto listu přidej to tvoje vytvořené tlačítko metodou add. Celé by to mohlo vypadat asi takto:
// Není dobré používat velké písmeno na začátku proměnné, člověk si to může splést s třídou...
AnchorPane.getChildren().add(button);
Ja jenom nevim jak tam přidat tu referenci
Jestli nevíš, jak přidat referenci na ten anrhorPane, tak je to stejny,
jako s pridanim reference na ten textField.
Do kontroleru pod řádek:
public TextField todleVypis;
si napis toto:
public AnchorPane AnchorPane;
Tím získáš referenci na AnchorPane, takže pak použiješ postup popsaný výše...
Používej tlačítko odpovědet... Díky
Tak hele mam to takhle a nefunguje mi to v čem je problem ?
Controller
package zkouseniblbosti;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.AnchorPane;
public class FXMLDocumentController implements Initializable {
public AnchorPane AnchorPane;
public TextField todleVypis;
Metody jojo= new Metody();
@Override
public void initialize(URL url, ResourceBundle rb) {
Button tlacitko;
AnchorPane.getChildren().add(jojo.napis(todleVypis, tlacitko=new Button()));
}
}
Třída metody
package zkouseniblbosti;
import javafx.event.ActionEvent;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
public class Metody {
public Button napis(TextField textfield, Button button) {
button.setId("konec");
button.setLayoutX(311.0);
button.setLayoutY(510.0);
button.setMnemonicParsing(false);
button.setOnAction((ActionEvent e) -> {
textfield.setText("Accepted");
});
button.setPrefHeight(48.0);
button.setPrefWidth(53.0);
button.setText("Ok");
return button;
}
}
To že Ti to nefunguje, je celkem široký pojem. Zkus napsat, co přesně nefunguje, nebo jestli to vyhazuje vyjímku, tak výpis z vyjímky...
Už jsem na to přišel. Ve FXML dokumentu mas v definici anchorPane toto:
id="AnchorPane"
místo tohoto:
fx:id="AnchorPane"
Zkus to opravit. mělo by to pomoct
Super děkuju moc za rychlou a spravnou pomoc davam palec děkuju
Není zač. Tlačítkem vpravo u mého komentáře můžeš označit správnou odpověď. Tím označíš toto vlákno za vyřešené a já dostanu nějaký ten bodík k dobru
Zobrazeno 10 zpráv z 10.