2013-03-29 41 views
5

là nó có thể dính một sân khấu cho máy tính để bàn?Làm thế nào để làm cho một JavaFX-Widget

Tôi muốn xử lý ứng dụng của mình làm tiện ích, vì vậy khi bắt đầu, ứng dụng sẽ được hiển thị ngay phía trên màn hình chứ không phải trước ứng dụng hiện tại có thể được mở.

Điều kiện khác cho tiện ích con là không có mục nhập trong thanh tác vụ. Điều đó cũng có thể?

+0

Hãy xem http://www.youtube.com/watch?v=IFIlr6cpX64 –

+0

Bạn không thể làm điều này trực tiếp trong java, chúng được xây dựng bằng html và javascript. –

Trả lời

6

Tôi cố gắng này với JavaFX 2.2 và có kết quả như sau:

nên khi nó bắt đầu nó sẽ được hiển thị ngay trên màn hình desktop và không ở phía trước của ứng dụng hiện tại mà có thể được mở

Gọi stage.toBack sẽ đặt một giai đoạn phía sau bất kỳ cửa sổ nào khác.

Tôi đã có thể nhận được một cửa sổ để luôn luôn ở lại phía sau cửa sổ khác hầu hết thời gian (ít nhất là trên một mac). Để làm điều này, tôi đã thêm một vài người nghe và bộ lọc trước khi hiển thị sân khấu theo số clock application.

stage.focusedProperty().addListener(new ChangeListener<Boolean>() { 
    @Override 
    public void changed(ObservableValue<? extends Boolean> observableValue, Boolean wasFocused, Boolean focused) { 
    stage.toBack(); 
    } 
}); 

stage.addEventFilter(MouseEvent.ANY, new EventHandler<MouseEvent>() { 
    @Override 
    public void handle(MouseEvent mouseEvent) { 
    stage.toBack(); 
    } 
}); 

Có một yêu cầu hiện tại về khả năng đặt stage to always be on top. Bạn có thể tạo một yêu cầu tương ứng mới cho khả năng cho một giai đoạn luôn ở phía sau.

Điều kiện khác cho một widget sẽ được rằng nó không có mục nhập trong thanh tác vụ

Trên Windows, tôi nghĩ rằng nếu bạn init the stage style-StageStyle.UTILITY thì Windows không hiển thị một biểu tượng cho giai đoạn trong thanh tác vụ Windows.

Tôi đã thử một vài kiểu sân khấu khác nhau trên OS X và một biểu tượng tách Java nhỏ sẽ luôn hiển thị trong đế OS X khi tôi chạy ứng dụng và (không giống như cửa sổ) cài đặt icons for the stage không loại bỏ cốc Java biểu tượng. Có lẽ nếu bạn đã tạo ứng dụng OS X self-contained, bạn có thể tắt biểu tượng trong bước đóng gói hoặc đặt biểu tượng thành hình ảnh trong suốt để hình ảnh không hiển thị với người dùng.

Bạn cũng có thể tạo yêu cầu tính năng cho điều này (tách biệt với yêu cầu luôn quay lại) trong JavaFX issue tracker. Nếu bạn tạo bất kỳ vấn đề nào liên quan đến vấn đề này, hãy giải thích trường hợp sử dụng của bạn và liên kết lại câu hỏi này.

+0

Giải pháp này hoạt động hoàn hảo cho tôi trên các cửa sổ, mặc dù tôi không cần phải ẩn cửa sổ khỏi thanh tác vụ. Tôi nghĩ bây giờ, với JavaFX 8, nơi chúng ta có một chức năng 'alwaysOnTop', sẽ có một điều tương tự để làm cho cửa sổ luôn ở lại phía sau. Có ai biết nếu có một vấn đề của bộ theo dõi vấn đề chính thức chưa? – RegisteredUser

+0

Tôi không biết liệu một yêu cầu tính năng đã được tạo chưa. Nếu muốn, bạn có thể tìm kiếm trình theo dõi vấn đề và tạo một trình theo dõi nếu chưa có yêu cầu tính năng hiện có. – jewelsea

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