2017-12-03 3 views
0

이 질문은 이전에 묻지 만, 다른 질문에 대해서는 충분히 이해하지 못했습니다. 이것을 읽어 주셔서 감사합니다. 나는 목록보기에서 데이터를 보여주기 위해 컴파일 된 뷰를 얻을 수 없다. 그리고 Im이 무엇을 잘못하고 있는지 확신하지 못한다. 메신저 자바 씬 빌더를 사용하고이 클래스를 컨트롤러로 설정하십시오. 필요한 경우 더 많은 정보를 제공 할 수 있습니다.JavaFx의 목록보기 설정

import org.bson.Document; 
import com.mongodb.MongoClient; 
import com.mongodb.client.MongoCollection; 
import com.mongodb.client.MongoCursor; 
import com.mongodb.client.MongoDatabase; 
import javafx.collections.FXCollections; 
import javafx.collections.ObservableList; 
import javafx.fxml.FXML; 
import javafx.scene.control.ListView; 

    public class DeanClassDbShowController { 
    //To hold the output, then the second one just in case 
    String test =""; 
    String combiner =""; 
    @FXML private ListView<String> dbList; 
    private final ObservableList<String> courses = FXCollections.observableArrayList(); 

    public void initialize() { 
     MongoClient mongoClient = new MongoClient("localhost", 27017); 
     MongoDatabase database = mongoClient.getDatabase("prog3"); 
     MongoCollection<Document> collection = database.getCollection("Courses"); 
     MongoCursor<Document> cursor = collection.find().iterator(); 
     { 
      while(cursor.hasNext()) 
      { 
       Document oldDoc = cursor.next(); 
       test = oldDoc.getString("courseName"); 
       combiner= ("Class: "+ test); 
       test = oldDoc.getString("courseNumber"); 
       combiner+= (" Class Number: "+test); 
       test = oldDoc.getString("instructor"); 
       combiner+= (" Instructor: "+ test); 
       test = oldDoc.getInteger("students").toString(); 
       combiner+= (" Students: "+ test); 
       courses.add(combiner); 
       //dbList.getItems().add(combiner);   
      } 
      dbList.setItems(courses); 
      //dbList = new ListView(courses); 
     } 
    } 
} 

편집 : listview는 데이터가 올바르게 표시되고 있으며, 거기에 표시된 이후에는 표시되지 않습니다.

+0

왜 '문자열'변수에 필드를 사용합니까? 당신은'initialize' 메쏘드에서 hte 문자열을 어셈블하는 것을 제외하고는 그것들을 사용하는 것처럼 보이지 않습니다. 이 목적을 위해 지역 변수가 충분할 것입니다. 게다가 while 루프와 다음 문장에 새로운 범위를 도입하는 것은 불필요한 것처럼 보입니다. – fabian

답변

0

일부 장면 뷰어 설정이 잘못되었습니다. 고정 된 셀 크기와 불투명도를 변경해야만했는데, 어떤 이유로 그것을 0으로 놓았습니다.