2014-04-18 1 views
2

일부 요소가있는 comboBox를보고 싶습니다. 나는이 작업을 수행하려고 :Javafx : 데이터가 ComboBox에 표시되지 않습니다.

columnName.getItems().addAll("Item1", "Item2", "Item3"); 

<ComboBox fx:id="columnName" prefHeight="27" prefWidth="100" layoutX="500" layoutY="523" /> 

내가 프로젝트를 시작

, 나는 콤보 상자 모든 요소를 ​​볼 수 없습니다. 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"); 

} 

} 문제는 ​​당신이

columnName = new ComboBox<>(); 

그 전화를 제거 호출됩니다

+0

컨트롤러에서 콤보 상자와 관련된 모든 코드를 표시 할 수 있습니까? –

답변

2

: 그것은 새로운 콤보 상자를 만들고 새 하나를 채우기있다, GUI에 표시되는 대신.

+0

최근 이와 비슷한 질문이 많이있었습니다. 예 : http://stackoverflow.com/questions/23087489/javafx-how-to-modify-components-in-fxml-file-after-loading-it, http://stackoverflow.com/questions/23094846/javafx -filechooser-throws-error-probably-easy-fix-but-still-confused. 나는 이것들을위한 근원을 찾을 수 없었지만 어딘가에서이 잘못된 사용법을 장려하고있는 꽤 인기있는 사이트가 있어야만하는 것 같다. –

관련 문제