小编cbo*_*oiu的帖子

具有彩色形状的 Java FX ComboBox

我希望添加两个或更多圆圈作为组合框的选项。

Circle c1 = new Circle(10, 8, 5);
Circle c2 = new Circle(24, 8, 5);
Run Code Online (Sandbox Code Playgroud)

圆圈应该使用 CSS 样式单独着色

c1.setStyle("-fx-fill: red;");
c2.setStyle("-fx-fill: green;");
Run Code Online (Sandbox Code Playgroud)

或者直接用Java语法

c1.setFill(Color.RED);
c2.setFill(Color.GREEN);
Run Code Online (Sandbox Code Playgroud)

我的问题是该setGraphic()方法将单个Node对象作为参数,并且要形成该Node对象,需要进行布尔运算,例如Shape.union(c1, c2). 但这消除了之前应用的样式,所以Circle我把它们都变成了黑色,而不是红色和绿色。

在此输入图像描述

下面是最小的例子。所有代码都可以放在一个.java文件中

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.control.ListCell;
import javafx.scene.control.ListView;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Shape;
import javafx.stage.Stage;
import javafx.util.Callback;

public class Test extends Application  {

   public static ObservableList<String> colours = FXCollections.observableArrayList("1", "2"); …
Run Code Online (Sandbox Code Playgroud)

listview combobox javafx

1
推荐指数
1
解决办法
206
查看次数

标签 统计

combobox ×1

javafx ×1

listview ×1