Я работаю с Java Swing, и в одном кадре я хочу создать CheckComboBox
, и, поскольку там его нет, я немного посмотрел и нашел ControlsFX
.Я протестировал его в классе, и он работал, но я не знаю, как я могу вставить его в свой собственный фрейм и установить границы и все эти другие спецификации, как это делается с обычными компонентами, должен ли я импортировать этот класс в свой фреймили я могу просто написать код и работать так же, как всегда, если так, как я могу это сделать?
Изображение 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
и вызвать его в моем кадре и такно как я могу адаптировать его в кадре?