2017-04-21 5 views
-2

나는 모든 데이터베이스를 jlist에 나열하려고하는데, JLIST에 나열 할 수없는 문제가있다.mongodb에서 jlist java에 값을 추가

 private void dblist() throws UnknownHostException { 
      MongoClient mongo = new MongoClient("localhost", 27017); 
      java.util.List<String> dbs = mongo.getDatabaseNames(); 

      for (String a : dbs) { 
       System.out.println(a); // here i am already getting value 
             // just need to add into jlist 
       System.out.println(a); 

       jlist.add(a); // adding value into Jlist but its giving 
           // me error 
      } 
     } 
    } 

System.out.println(a) result

+0

에'jlist'이 질문에 할당되지 않은 JList의 자바에 3.4.2

MongoDB를를 사용. [mcve] –

답변

0

당신은 그것을 변환이 시도 할 수?;

String[] x = new String[dbs.size()]; 
JList<String> list = new JList<>(dbs.toArray(x)); 

업데이트 :

당신이 제발 시도 할 수있다;

yourJlist = new JList(dbs.toArray()); 

업데이트 2 :

노력이 코드는 왜이 같은 노력 해달라고;

MongoClient mongo = new MongoClient("localhost", 27017); 
MongoCursor<String> dbs = mongo.listDatabaseNames().iterator(); 
while(dbs.hasNext()) { 
    System.out.println(dbs.next()); 
} 
+0

이 오류를 계속 표시하도록하십시오. java.lang.NullPointerException @ MuratGüner –

+0

다른 코드를 추가했는데 확인할 수 있습니까? –

+0

오류가 더 이상 나타나지 않지만 목록이 공백으로 표시됩니다. @ MuratGüner –

0

미래에 누군가가이 질문을 찾는다면 나는이 대답을 참조 할 수 있습니다.

MongoDB의 자바 드라이버에

try{ 
    String host=hname.getText(); 
    String port=spport.getValue().toString(); 
    Integer pt = Integer.valueOf(port);       
     try (MongoClient mongoClient = new MongoClient(new 
     ServerAddress(host, pt),    
       MongoClientOptions.builder() 
         .serverSelectionTimeout(2000) 
         .build())) { 
      DB db = mongoClient.getDB(jlist.getSelectedValue().toString()); 
      DBbtn.setText("DB Connected"); 
      DBbtn.setBackground (new Color(109,184,0)); 
      DBbtn.setForeground(Color.WHITE); 
      Set<String> colls = db.getCollectionNames(); 

      DefaultListModel listModel = new DefaultListModel(); 
      colls.stream().map((s) -> { 
       listModel.addElement(s); 
       return s; 
      }).forEach((s) -> { 
       System.out.println(s); 
      }); 
      collectionss.setModel(listModel); // collectionss is jlist name 
     } 

    } catch (Exception e) { 
    } 

삽입 자바의 JList에서 MongoDB를

try{   
     String logid="Log-"+logname.getText(); 
     JList dataList=(loglist); 
     int sixe=dataList.getModel().getSize(); 
    ArrayList arrayList = new ArrayList(); 
    for (int i = 0; i <sixe; i++) { 
    arrayList.add(dataList.getModel().getElementAt(i)); 
    server.total.setText("Total Log-"+i); 

    } 
    System.out.println(arrayList); 
    Iterator itr = arrayList.iterator(); 
    String host=hname.getText(); 
    String port=spport.getValue().toString();      
    MongoClient mongoClient = new MongoClient(asList(new ServerAddress(host+":"+port)), 
            singletonList(MongoCredential.createCredential(uname.getText(), 
                        dbname.getText(), 
                        pass.getText().toCharArray())), 
            MongoClientOptions.builder().serverSelectionTimeout(2000).build()); 

     DB db = mongoClient.getDB(jlist.getSelectedValue().toString()); 
     DBCollection bookCollection = 
     db.getCollection(collectionss.getSelectedValue().toString()); 
     BasicDBObject doc = new BasicDBObject(logid, arrayList); 
     bookCollection.insert(doc); 
     server.consolelog.setText("INFO: Data is inserted succsesfully"); 

     }catch(Exception e){ 
      server.consolelog.setText(e.toString()); 
     }