2013-03-27 35 views
7

Tôi chỉ đang bắt đầu các dự án JavaFX thứ hai của mình và tôi cần biết khi nào một số Stage đang được tối đa hóa. Trong Swing, điều này khá đơn giản và có thể được thực hiện bằng cách sử dụng WindowListener/Event. Tuy nhiên, sau khi tìm kiếm thông qua Javadoc của JavaFX, tôi dường như không thể tìm thấy bất kỳ cách nào để nghe trạng thái của một Stage.Trình nghe cho một Giai đoạn giảm thiểu, tối đa hóa, v.v.

Có cách nào để thực hiện việc này không?

Trả lời

16

Để tìm hiểu xem Stage giảm thiểu bạn có thể nghe iconified tài sản:

stage.iconifiedProperty().addListener(new ChangeListener<Boolean>() { 

    @Override 
    public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) { 
     System.out.println("minimized:" + t1.booleanValue()); 
    } 
}); 

Phóng maximized tài sản được bổ sung trong phiên bản 8.0 sắp tới:

stage.maximizedProperty().addListener(new ChangeListener<Boolean>() { 

    @Override 
    public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) { 
     System.out.println("maximized:" + t1.booleanValue()); 
    } 
}); 

Bạn có thể tải build truy cập sớm của JDK 8 (bao gồm FX8) tại đây: http://www.oracle.com/technetwork/java/javase/downloads/ea-jsp-142245.html

+0

Cảm ơn bạn! Theo ý kiến ​​của bạn, nó sẽ có giá trị phát triển ứng dụng của tôi trong JDK 8, và sau đó cập nhật nó khi nó chính thức phát hành? – mattbdean

+0

Nó phụ thuộc vào thời gian phát triển của bạn. JDK8 khá gần, nhưng người dùng có thể không ngay lập tức cập nhật lên bản phát hành chính. –

+0

nhưng làm thế nào bạn có thể thực hiện chúng trong Bộ điều khiển? trong phương thức khởi tạo, giai đoạn vẫn là null –

Các vấn đề liên quan