我想看一个包含一些元素的comboBox。我试着这样做:
columnName.getItems().addAll("Item1", "Item2", "Item3");
和
<ComboBox fx:id="columnName" prefHeight="27" prefWidth="100" layoutX="500" layoutY="523" />
当我启动一个项目时,我在comboBox中看不到任何元素。 我也尝试使用ObservableList,但它似乎没有帮助。我该怎么办?
抱歉我的英语不好。
班长控制器:
package tnk.bp.controller;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
import java.net.URL;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.ResourceBundle;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.ComboBox;
import javafx.scene.control.DatePicker;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import tnk.bp.core.Employee;
import tnk.bp.core.Summary;
/**
*
* @author Дмитрий
*/
public class Controller implements Initializable {
@FXML
private DatePicker dp;
@FXML
private ScrollPane scrollPaneTable;
private final ObservableList<Employee> lEmployeesCollection = FXCollections.observableArrayList();
private final ObservableList<Summary> summaryCollection = FXCollections.observableArrayList();
private ObservableList<String> comboBoxCollection;
@FXML
private ComboBox<String> columnName;
@FXML
private TableView<Employee> employees;
@FXML
private TableColumn<Employee, String> nameSecondnameColumn;
@FXML
private TableColumn<Employee, String> surnameColumn;
@FXML
private TableView<Summary> summaryTable;
@FXML
private TableColumn<Summary, String> fieldColumn;
@FXML
private TableColumn<Summary, String> cdngColumn;
@FXML
private TableColumn<Summary, String> clusterColumn;
@FXML
private TableColumn<Summary, String> wellColumn, uecnColumn, vQColumn, timeRequestColumn, postExecutantColumn,
contentRequestColumn, startTimeColumn, endTimeColumn, nameExecutantColumn,
mechanismColumn, executionColumn, numberColumn;
private ArrayList<Summary> listSummary;
private ArrayList<Employee> listEmployee;
@Override
public void initialize(URL url, ResourceBundle rb) {//General function
initComponents();
fillListEmployees();//заполняем данные в ArrayList
fillTableViewEmployees();// Заносим в таблицу
dp.setValue(LocalDate.now());
fillListSummary();
fillTableViewSummary();
initComboBox();
}
@FXML
void getCurrentDate() {
System.out.println(dp.getValue().toString());
}
private void initComponents() {
dp = new DatePicker();
scrollPaneTable = new ScrollPane();
listEmployee = new ArrayList<Employee>();
listSummary = new ArrayList<Summary>();
}
private void fillListEmployees() {
listEmployee.add(new Employee("Федяев", "А.В."));
listEmployee.add(new Employee("Герман", "Д.В."));
listEmployee.add(new Employee("Шиловских", "А.А."));
listEmployee.add(new Employee("Кипоров", "С.Л."));
listEmployee.add(new Employee("Кащеев", "Ю.В."));
listEmployee.add(new Employee("Буракаев", "З.З."));
listEmployee.add(new Employee("Репетов", "А.Н."));
}
private void fillTableViewEmployees() {
for (Employee moved : listEmployee) {
lEmployeesCollection.add(moved);
}
surnameColumn.setCellValueFactory(new PropertyValueFactory<Employee, String>("surname"));
nameSecondnameColumn.setCellValueFactory(new PropertyValueFactory<Employee, String>("nameSecondname"));
employees.setItems(lEmployeesCollection);
}
private void fillListSummary() {
listSummary.add(new Summary(1,"Прилазломное", "10", "База", "", "", "", "8:00", "Диспетчер", "ПРР", "8:00", "10:00", "Буркаев З.З", "", "Выполнено"));
listSummary.add(new Summary(2,"Прилазломное", "10", "69", "5888", "", "", "10:00", "Инженер по применению", "Подключить кабель в ТМПН\n(работала на Х.Х.). Пробный запуск ", "10:00", "10:35", "Буркаев З.З", "", "Выполнено"));
listSummary.add(new Summary(3,"Прилазломное", "10", "32", "5694", "", "", "10:00", "Инженер по применению", "Подключить кабель в ТМПН\n(работала на Х.Х.). Пробный запуск ", "10:35", "11:00", "Буркаев З.З", "553", "Запуск с оператором\nв 10ч-57мин. \nРпр=87атм, Т=100?С,\nВибр=0м/с?, \nF=52 Гц, I=17,5А,\nЗагр=55%, ЗСП=45%,\ncos=0,65, Uс=395В,\nUвых=329В, Uотп=2272В,\n АПВ1=120сек."));
listSummary.add(new Summary(4,"Прилазломное", "10", "5", "5282", "", "", "8:00", "Инженер по применению" , "ПРГ поддержания Р 32 Атм\nF47,5-49Гц", "8:00", "10:00", "Федяев А.В", "668", "Выполнено F-47,5 \nI-16,4, Загр-65/55,\nРпр=52атм, Т=107?С,\n Вибр=1,9м/с?"));
listSummary.add(new Summary(5,"Прилазломное", "10", "305", "5569", "", "", "8:00", "Инженер по применению", "осмотр НЭО", "10:20", "10:50", "Федяев А.В", "668", "СУ 250А Э-04 ТМСН-3 Электон\nнет бронерукава ТМПН 102"));
listSummary.add(new Summary(6,"Прилазломное", "10", "104", "961", "", "", "8:00", "Инженер по применению" , "Отстроить защиты и запустить ", "11:00", "11:25", "Федяев А.В", "668", "СУ 250А Э-04 ТМСН-3 Электон\nнет бронерукава ТМПН 102"));
listSummary.add(new Summary(7,"Прилазломное", "10", "47", "776", "", "", "8:00", "Инженер по применению" , "Отстроить защиты и запустить ", "11:45", "12:10", "Федяев А.В", "668", "Выполнено на кусту нет\nоператора ДНГ выполнен\nпробный пуск и \nостановлена"));
listSummary.add(new Summary(8,"Прилазломное", "10", "29", "5630", "", "", "10:00", "Инженер по применению", "Подключить кабель в ТМПН\n(работала на Х.Х.). Пробный запуск ", "11:00", "11:45", "Буркаев З.З", "553", "Выполнено"));
listSummary.add(new Summary(9,"Прилазломное", "10", "30", "5764", "", "", "10:00", "Инженер по применению", "Подключить кабель в ТМПН\n(работала на Х.Х.). Пробный запуск ", "11:45", "12:50", "Буркаев З.З", "553", "Выполнено"));
listSummary.add(new Summary(10,"Прилазломное", "10", "27", "5757", "", "", "14:00", "Инженер по применению", "Останов", "14:00", "14:40", "Буркаев З.З", "553", "Останов по ЗСП. \nСамозапуск по АПВ. \nВ работе. Информацию снял."));
listSummary.add(new Summary(11,"Прилазломное", "10", "302", "5915", "", "", "14:40", "Инженер по применению", "Останов. Нет напряжения\nна СУ.", "14:40", "16:40", "Буркаев З.З", "553", "Выбит автомат в СУ.\n Запуск в 15ч-28мин. \nРпр=162атм, Т=101?С, \nВибр=0,3g,\n F=50Гц, I=20,4А, Загр=42%, \nЗСП=20%, cos=0,62, Uс=404В,\nUотп=1558В, АПВ1=60сек,\n Rиз=9999кОм"));
listSummary.add(new Summary(12,"Прилазломное", "10", "305", "8503", "", "", "8:00", "Инженер по применению", "ВНР", "10:40", "16:40", "Тимофеев Ю.Ю", "672", "Выполнено"));
listSummary.add(new Summary(13,"Прилазломное", "10", "123", "1109", "", "", "8:00", "Инженер по применению", "ВНР", "11:20", "14:30", "Тимофеев Ю.Ю", "672", "Выполнено"));
listSummary.add(new Summary(14,"Прилазломное", "10", "125", "1108", "", "", "8:00", "Инженер по применению", "ВНР", "14:20", "14:40", "Тимофеев Ю.Ю", "672", "Выполнено"));
listSummary.add(new Summary(15,"Прилазломное", "10", "77", "5873", "", "", "8:00", "Инженер по применению", "ВНР", "9:05", "15:35", "Тимофеев Ю.Ю", "672", "Выполнено"));
listSummary.add(new Summary(16,"Прилазломное", "10", "77", "8194", "", "", "8:00", "Инженер по применению", "ПР", "13:13", "13:19", "Тимофеев Ю.Ю", "672", "Выполнено"));
listSummary.add(new Summary(17,"Прилазломное", "10", "302", "5914", "", "", "8:00", "Инженер по применению", "ПР", "13:20", "13:30", "Тимофеев Ю.Ю", "672", "Выполнено"));
listSummary.add(new Summary(18,"Прилазломное", "10", "44", "853", "", "", "8:00", "Инженер по применению", "ПР", "14:40", "15:00", "Тимофеев Ю.Ю", "672", "Выполнено"));
listSummary.add(new Summary(19,"Прилазломное", "10", "57", "5637", "", "", "8:00", "Инженер по применению", "ВНР", "10:40", "18:10", "Ражев А.В", "913", "Выполнено"));
listSummary.add(new Summary(20,"Прилазломное", "10", "116", "8381", "", "", "8:00", "Инженер по применению", "КП", "15:48", "16:13", "Ражев А.В", "913", "Выполнено"));
}
private void fillTableViewSummary() {
for (Summary moved : listSummary) {
summaryCollection.add(moved);
}
numberColumn.setCellValueFactory(new PropertyValueFactory<Summary, String>("number"));
fieldColumn.setCellValueFactory(new PropertyValueFactory<Summary, String>("field"));
cdngColumn.setCellValueFactory(new PropertyValueFactory<Summary, String>("cdng"));
clusterColumn.setCellValueFactory(new PropertyValueFactory<Summary, String>("cluster"));
wellColumn.setCellValueFactory(new PropertyValueFactory<Summary, String>("well"));
uecnColumn.setCellValueFactory(new PropertyValueFactory<Summary, String>("uecn"));
vQColumn.setCellValueFactory(new PropertyValueFactory<Summary, String>("vQ"));
timeRequestColumn.setCellValueFactory(new PropertyValueFactory<Summary, String>("timeRequest"));
postExecutantColumn.setCellValueFactory(new PropertyValueFactory<Summary, String>("postExecutant"));
contentRequestColumn.setCellValueFactory(new PropertyValueFactory<Summary, String>("contentRequest"));
startTimeColumn.setCellValueFactory(new PropertyValueFactory<Summary, String>("startTime"));
endTimeColumn.setCellValueFactory(new PropertyValueFactory<Summary, String>("endTime"));
nameExecutantColumn.setCellValueFactory(new PropertyValueFactory<Summary, String>("nameExecutant"));
mechanismColumn.setCellValueFactory(new PropertyValueFactory<Summary, String>("mechanism"));
executionColumn.setCellValueFactory(new PropertyValueFactory<Summary, String>("execution"));
summaryTable.setItems(summaryCollection);
}
private void initComboBox() {
String[] listComboBox = {"Месторождение", "ЦДНГ", "Куст", "Скважина", "УЭЦН","Q м3/т", "ФИО Должность", "Окончание работ", "Исполнитель", "Техника"};
comboBoxCollection = FXCollections.observableArrayList(listComboBox);
columnName = new ComboBox<>();
//comboBoxColumnName.getItems().addAll(comboBoxCollection);
columnName.getItems().addAll("Item1", "Item2", "Item3");
}
}
答案 0 :(得分:2)
问题是你在打电话
columnName = new ComboBox<>();
删除该调用:它会创建一个新的组合框,您将填充新的组合框,而不是GUI中显示的组合框。