私はこの非常に単純な例を使用していますInfoOverlay
:
import javafx.application.Application;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import org.controlsfx.control.InfoOverlay;
public class MainApp extends Application
{
private InfoOverlay infoOverlay;
public static void main(String[] args)
{
launch(args);
}
public Node getPanel(Stage stage)
{
String imageUrl = getClass().getResource("/styles/duke_wave.png").toExternalForm();
ImageView image = new ImageView(imageUrl);
String info = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. "
+ "Nam tortor felis, pulvinar in scelerisque cursus, pulvinar at ante. "
+ "Nulla consequat congue lectus in sodales.";
infoOverlay = new InfoOverlay(image, info);
infoOverlay.setShowOnHover(false);
StackPane stackPane = new StackPane(infoOverlay);
return stackPane;
}
@Override
public void start(Stage stage) throws Exception
{
Scene scene = new Scene((Parent) getPanel(stage));
stage.setTitle("JavaFX and Maven");
stage.setScene(scene);
stage.show();
}
}
VBox
またはBorderPane
に挿入したいInfoOverlay(image, info)
。JavaDoc によると、次のデフォルト コンストラクターのみを使用します。
InfoOverlay()
InfoOverlay(Node content, String text)
InfoOverlay(String imageUrl, String text)
これを解決するのを手伝ってもらえますか?