在JFrame中实现功能

时间:2018-12-18 17:12:14

标签: java swing javafx controlsfx

我正在使用Java Swing,并且在一个框架中我想创建一个CheckComboBox,由于那里没有显示它,所以我抬起头来发现了ControlsFX。我在一个类中对其进行了测试,并且可以正常工作,但是我不知道如何像在常规组件中那样将其插入自己的框架中并设置边界和所有其他规格,是否必须将该类导入到我的框架中还是我可以在那里写代码并像往常一样工作,如果可以的话,该怎么做?

The Image of the CheckComboBox

import org.controlsfx.control.CheckComboBox;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class Main extends Application {

public void start(Stage mainStage) throws Exception {


    ObservableList<String> items = FXCollections.observableArrayList();

    items.addAll(new String[] { "All", "Item 1", "Item 2", "Item 3", "Item 4" });

    CheckComboBox<String> controll = new CheckComboBox<String>(items);

    controll.getCheckModel().getCheckedItems().addListener(new ListChangeListener<String>() {
        public void onChanged(ListChangeListener.Change<? extends String> c) {

            while (c.next()) {
                if (c.wasAdded()) {
                    if (c.toString().contains("All")) {
                        for (int i = 1; i < items.size(); i++) {
                            controll.getCheckModel().clearCheck(i);
                        }

                    } else { 
                        if (controll.getCheckModel().isChecked(0)) {
                            controll.getCheckModel().clearCheck(0);
                        }

                    }
                }
            }
        }
    });

    Scene scene = new Scene(controll);
    mainStage.setScene(scene);
    mainStage.show();
}

public static void main(String[] args) {
    launch(args);
}
}

如果我必须为CheckComboBox创建一个类并在我的框架中调用它,这似乎是多余的,但是如何在框架中进行调整呢?

0 个答案:

没有答案