从mongodb向jlist java添加价值

从mongodb向jlist java添加价值,java,arrays,mongodb,jlist,Java,Arrays,Mongodb,Jlist,我正在尝试将所有数据库都列在jlist中,它工作正常,只是我无法将问题列在jlist中 private void dblist() throws UnknownHostException { MongoClient mongo = new MongoClient("localhost", 27017); java.util.List<String> dbs = mongo.getDatabaseNames();

我正在尝试将所有数据库都列在jlist中,它工作正常,只是我无法将问题列在jlist中

      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 
           }
      }
  }
private void dblist()引发UnknownHostException{
MongoClient mongo=新的MongoClient(“本地主机”,27017);
java.util.List dbs=mongo.getDatabaseNames();
for(字符串a:dbs){
System.out.println(a);//这里我已经得到了值
//只需要添加到jlist中
系统输出打印项次(a);
jlist.add(a);//为jlist增加价值,但它的给予
//我的错误
}
}
}

你能试试这个来转换它吗

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

这个代码正在工作,为什么你不这样尝试

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

我已经解决了这个问题,所以将来如果有人想问这个问题,他们可以参考这个答案

使用mongodb java驱动程序3.4.2

mongodb到java jlist

  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) {
   } 
试试看{
String host=hname.getText();
字符串端口=spport.getValue().toString();
整数pt=整数。值of(端口);
try(MongoClient-MongoClient=newmongoclient(new
服务器地址(主机,pt),
mongoclientations.builder()
.serverSelectionTimeout(2000)
.build()){
DB DB=mongoClient.getDB(jlist.getSelectedValue().toString());
DBbtn.setText(“DB连接”);
DBbtn.setBackground(新颜色(109184,0));
设置前景(颜色为白色);
Set colls=db.getCollectionNames();
DefaultListModel listModel=新的DefaultListModel();
colls.stream().map((s)->{
listModel.addElement;
返回s;
}).forEach((s)->{
系统输出打印项次;
});
Collections.setModel(listModel);//Collections是jlist名称
}
}捕获(例外e){
} 
从java 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());
         }
试试{
字符串logid=“Log-”+logname.getText();
JList数据列表=(日志列表);
int-sixe=dataList.getModel().getSize();
ArrayList ArrayList=新的ArrayList();

对于(int i=0;我仍然给我一个错误,java.lang.NullPointerException@MuratGünerror不再存在,但列表似乎是空的@MuratGüneri更新了mongoDB驱动程序,现在它可以工作了,但问题仍然存在,我如何添加到jlist中。感谢兄弟帮助我:)这给了我与旧驱动程序相同的结果。在这里显示System.out.println(dbs.next())的结果;我想在jlist@MuratGüneryourJlist=new jlist(dbs.toArray())中显示;这现在应该可以工作了,伙计。顺便说一句,你的问题中没有指定:)
jlist
。请尝试显示一个
 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());
         }