Javafx ile yeni form oluşturup forma giden buton olayı. Javafx ders2

Arif Ceylan/ Aralık 19, 2014/ Javafx/ 2 comments

Javafx ile bir önceki derste butona tıklanarak hello World örneğini incelemiştik. Şimdi de javafx ile yeni bir form oluşturup onu butonla açma işlemine bakalım.

Öncelikle yeni fxml tarzı formumuzu oluşturalım.

Projemize sağ tıklayıp emppty fxmle tıklıyoruz.

Formumuzun adını yazıyoruz. Ben FXMLForm2 yazdım. Nexte tıklıyoruz.

Sonraki ekranda Form için controller oluşturmak isteyip istemediğinizi soruyor. Nesneleri kontrol etme amaçlı controllerimizi de oluşturalım.

Finishe tıklıyorum. Sonraki ekranda istersek css dosyası da oluşturabiliriz.

Projects panelinden FXMLForm2.xml dosyasına çift tıklayarak scene builder ile düzenleyebiliriz.

Form2ye bir label yerleştirip text özelliğine burası form2dir yazıyorum.

Daha sonra Ana Formun fxml dosyasına bir buton yerleştiriyorum. Bu butona yıklayınca form2ye gidecek.

Butonun text özelliğine form2ye git yazıyorum. Fx:id form2git, on action da eventform2 olsun. Fx:id özelliği controllerdan butonumuzu kontrol edebileceğimiz id adıdır.

On action ise butona tıklandığında gerçekleşecek olan olaydır. Bu olayı ve idyi controllerimiz içerisinde tanımlayacağız.

Kaydedip Scene builderdan çıkalım ve ana formumuzun controllerini açalım.

Butonu FXML annotation ile tanımlıyoruz. Button kütüphanesi import edilmediği için uyarı veriyor. Soldaki düğmeye tıklayıp import edebiliriz.

Ve eventimizi da tanımlayıp Form2ye gitmesini sağlayalım.

  @FXML
    private Button form2git;
    
    @FXML
    private void eventform2(ActionEvent event)
    {
        try{
        Stage stage=new Stage();
        Parent root = FXMLLoader.load(getClass().getResource("FXMLForm2.fxml"));
        stage.setScene(new Scene(root));
        stage.show();
        }
        catch(Exception e){
            System.out.println(e.toString());
        }
    }

2. formda formu kapatan bir buton için de aşağıdaki kodları yazabiliriz. Tabi önce Scene builder ile butonumuzu oluşturup isimleri tanımlamak gerekiyor.

    @FXML
    private Button formkapat;//butonumuzun fx:id değeri formkapat
    
    @FXML
    private void eventformkapat(ActionEvent event){ //onaction olay adı eventformkapat
    Node  source = (Node)  event.getSource();
    Stage stage = (Stage)source.getScene().getWindow();
    stage.close();
    }

iyi çalışmalar.

Share this Post

2 Comments

  1. Eline emeğine sağlık hocam umarım javafx ile ilgili daha fazla çalışma görebiliriz

  2. Konuyu Güzel anlatmışsınız hocam zaten giriş yapmak istiyordum bir kaç birşey biliyorum fakat kendimide geliştirmek istiyorum elinize sağlık 🙂

Leave a Comment

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*