• 27-01-2022, 19:10:01
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Herkese iyi akşamlar. Java FX de normal fxml olmadan işlemleri yapabiliyorum. Burada sorun yaşadığım yer scene değiştirme. fxml olmadan stage.setScene(scene) diyerek değiştirebiliyorum ama burada yapamadım. Araştırdığımda da nedenini tam anlayamadım.
    Amacım HelloApplication.java da daki "Hello!" butonuna tıkladığımda(hello-view.fxml içinde görebilirsiniz) login.java daki deneme.fxml deki scene i açması. yani scene değiştirmek istiyorum. Bunu nasıl yapabilirim yardımcı olabilecek var mı?

    1- HelloApplication java

    2- login.java


    3- hello-view.fxml


    4- deneme.fxml ( bu login.java için)
  • 27-01-2022, 19:21:33
    #2
    Öncelikle fxml dosyalarını resources ın altına taşıyıp aşağıdakileri yapıp dener misin?

    Ayrıca Hello butonuna bir id ver.

    <Button fx:id="helloButton" onAction="#clickHello" text="Hello!" />

    sonra bu id yi HelloApplication .java da tanımla.

    @FXML
    private Button helloButton ;


    ve aşağıdaki kodu dene.


    public void clickHello(ActionEvent e) throws IOException {
    Parent root = FXMLLoader.load(getClass().getResource("/deneme.fxml"));

    Stage window = (Stage) helloButton .getScene().getWindow();
    window.setScene(new Scene(root,320,240));

    }
  • 27-01-2022, 20:16:58
    #3
    Merhaba. Dediğinizi yaptım ama hala ilk resimdeki aynı hatayı alıyorum. Bu hata hello penceresindeki hello butonuna basınca geliyor


    Satır 22:

  • 27-01-2022, 20:39:33
    #4
    Problem çözüldü. 41Yazılım a teşekkürler. Sizin yaptığınızda getClass() vardı ilk önce çalışmadı sonradan HelloApplication.class.getResource().. diyince çalıştı. Şimdi niye çalıştığını bulmaya çalışacağım.