在JavaFX11中,可以通过CSS样式表来设置多个ImageViews的样式,以避免违反DRY原则(Don't Repeat Yourself)。下面是一种实现方法:
.image-view-1 {
-fx-background-color: #ff0000; /* 设置背景颜色为红色 */
-fx-border-color: #000000; /* 设置边框颜色为黑色 */
-fx-border-width: 2px; /* 设置边框宽度为2像素 */
}
.image-view-2 {
-fx-background-color: #00ff00; /* 设置背景颜色为绿色 */
-fx-border-color: #000000; /* 设置边框颜色为黑色 */
-fx-border-width: 2px; /* 设置边框宽度为2像素 */
}
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.ImageView;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
// 创建ImageViews
ImageView imageView1 = new ImageView();
ImageView imageView2 = new ImageView();
// 为ImageViews添加样式类
imageView1.getStyleClass().add("image-view-1");
imageView2.getStyleClass().add("image-view-2");
// 创建布局并添加ImageViews
VBox root = new VBox(imageView1, imageView2);
// 加载CSS样式表
root.getStylesheets().add(getClass().getResource("styles.css").toExternalForm());
// 创建场景并设置到舞台
Scene scene = new Scene(root, 400, 400);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
在上述代码中,我们创建了两个ImageViews并为它们分别添加了样式类"image-view-1"和"image-view-2"。然后,我们创建了一个VBox布局,并将ImageViews添加到布局中。接着,我们加载了CSS样式表,并将其应用到布局中。最后,我们创建了一个场景并将其设置到舞台中显示。
通过这种方式,我们可以在JavaFX11中设置多个ImageViews的样式,而不违反DRY原则。你可以根据需要定义不同的样式类,并为每个ImageView应用相应的样式类。这样,你可以轻松地管理和修改ImageViews的样式,提高代码的可维护性和重用性。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云