公司刚成立网站怎么做,成都公司注册核名官网,长春企业宣传片制作公司,稿定详情页设计模板javafx中css选择器当您是像我这样来自Swing的UI开发人员时#xff0c;您很有可能仍在代码中直接设置图像/图标。 最可能是这样的#xff1a; import javafx.scene.control.Label;
import javafx.scene.image.ImageView;public class MyLabel extends Label {public MyLabel(… javafx中css选择器 当您是像我这样来自Swing的UI开发人员时您很有可能仍在代码中直接设置图像/图标。 最可能是这样的 import javafx.scene.control.Label;
import javafx.scene.image.ImageView;public class MyLabel extends Label {public MyLabel() {setGraphic(new ImageView(MyLabel.class.getResource(image.gif).toExternalForm()));}
} 在此示例中通过Class.getResource查找图像文件将URL传递到ImageView节点的构造函数并且将该节点设置为标签上的“ graphic”属性。 这种方法效果很好但是使用JavaFX则有更优雅的方法。 您可以将图像定义放入CSS文件中以便您和/或其他人轻松替换它营销部门已决定再次更改公司标识。 可以通过这种方式获得与上述相同的结果 import javafx.scene.control.Label;public class CSSLabel extends Label {public CSSLabel() {getStyleClass().add(folder-icon);}
} 现在您显然也需要一个CSS文件 .folder-icon {-fx-graphic: url(image.gif);
} 并且在您的应用程序中您需要将样式表添加到场景图。 在这里我们将其添加到场景中。 import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.stage.Stage;public class MyApplication extends Application {public void start(Stage primaryStage) throws Exception {CSSLabel label new CSSLabel();label.setText(Folder);label.setAlignment(Pos.CENTER);Scene scene new Scene(label);scene.getStylesheets().add(MyApplication.class.getResource(test.css).toExternalForm());primaryStage.setScene(scene);primaryStage.setTitle(Image Example);primaryStage.setWidth(250);primaryStage.setHeight(100);primaryStage.show();}public static void main(String[] args) {launch(args);}
} 通过这种方法您可以将控件及其外观完全分开并且还可以轻松进行自定义。 翻译自: https://www.javacodegeeks.com/2014/07/javafx-tip-12-define-icons-in-css.htmljavafx中css选择器