JavaFXのショーマウスホバーのペイン

user3164187:

私が持っているJavaFX私はショーにしたいアプリケーションpanemousehoverでイベントをButton

私は期待していた出力は、ホバリングにWindowsタスクバーのプレビュースタイルに似ているタスクバーのアイコンをプレビューペインが一番上に表示されます。(以下同様)

ここでは、画像の説明を入力します。

どのように私はJavaFXのを使用してこの効果を実現することができます。

Przemek Krysztofiak:

コードは非常に生ですが、あなたが尋ねたコア機能を取得(それは複数の方法でachivedすることができ、もちろんのを、ニーズにdepening、私はちょうど私のために実装が最速だったソリューションを発表しました)

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.layout.Region;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.stage.StageStyle;

public class StickyNotesApp extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage stage) throws Exception {
        StackPane notedPane = new StackPane();
        notedPane.setPrefSize(20, 20);
        notedPane.setMaxSize(Region.USE_PREF_SIZE, Region.USE_PREF_SIZE);
        notedPane.setStyle("-fx-background-color: purple;");

        StackPane rootPane = new StackPane(notedPane);
        rootPane.setPrefSize(400, 400);
        StackPane.setAlignment(notedPane, Pos.BOTTOM_CENTER);

        stage.setScene(new Scene(rootPane));
        stage.show();

        Stage stickyNotesStage = new Stage();
        stickyNotesStage.initOwner(stage);
        stickyNotesStage.initStyle(StageStyle.UNDECORATED);
        StackPane stickyNotesPane = new StackPane();
        stickyNotesPane.setPrefSize(200, 200);
        stickyNotesPane.setStyle("-fx-background-color: yellow;");
        stickyNotesStage.setScene(new Scene(stickyNotesPane));


        notedPane.hoverProperty().addListener((ChangeListener<Boolean>) (observable, oldValue, newValue) -> {
            if (newValue) {
                stickyNotesStage.show();
            } else {
                stickyNotesStage.hide();
            }
        });
    }
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=223768&siteId=1