如何使用css自定义工具提示?
我将JavaFX2版本与开普勒一起使用,我尝试自定义工具提示,但没有成功:如何使用css自定义工具提示?,css,javafx-2,tooltip,Css,Javafx 2,Tooltip,我将JavaFX2版本与开普勒一起使用,我尝试自定义工具提示,但没有成功: .tooltip{ -fx-background-color: linear-gradient(blue,lightskyblue); -fx-background-radius: 5; } .page-corner { -fx-shape: " "; } 它不起作用。你有什么想法吗 更新: 这里是一个mcve: import java.io.IOException; import javafx.appli
.tooltip{
-fx-background-color: linear-gradient(blue,lightskyblue);
-fx-background-radius: 5;
}
.page-corner {
-fx-shape: " ";
}
它不起作用。你有什么想法吗
更新:
这里是一个mcve:
import java.io.IOException;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
public class MainApp extends Application {
@Override
public void start(Stage stage) {
AnchorPane root;
try {
root = FXMLLoader.load(getClass().getResource("Sample.fxml"));
Scene scene = new Scene(root, 600, 400);
stage.setTitle("FXML Welcome");
stage.setScene(scene);
stage.show();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
Application.launch(MainApp.class, args);
}
}
Sample.fxml文件:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.text.*?>
<?import javafx.scene.image.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.effect.*?>
<?import javafx.scene.*?>
<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane prefHeight="400.0" prefWidth="600.0" stylesheets="MCVE/application.css" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.Sample">
<children>
<TextField layoutX="66.0" layoutY="49.0">
<tooltip>
<Tooltip text="tooltip message" />
</tooltip>
</TextField>
</children>
</AnchorPane>
application.css文件:
.tooltip{
-fx-background-color: linear-gradient(blue,lightskyblue);
-fx-background-radius: 5.0;
}
.page-corner {
-fx-shape: " ";
}
我认为这是因为
工具提示
出现在它自己的窗口中(工具提示
是弹出控件
的一个子类,它最终是窗口
的一个子类)。由于您已将样式表应用于主播
,因此工具提示
(位于该层次结构之外)不会看到该样式表
相反,将样式表添加到MainApp
类中的场景
:
scene.getStylesheets().add(getClass().getResource("/mcve/application.css").toExternalForm());
这对我来说很好。你能发布一个(即使用css文件的完整可执行示例)吗。
scene.getStylesheets().add(getClass().getResource("/mcve/application.css").toExternalForm());