从mongodb添加值到jlist java
我想列出所有的数据库到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
}
}
}
你可以试试这个将其转换?;
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());
}
仍然给我一个错误,java.lang.NullPointerException @MuratGüner –
我已经添加了另一个代码,可以检查它吗? –
错误不再,但列表似乎是空白@MuratGüner –
我已经解决了它,所以在将来如果有人看这个问题,他们可以参考这个答案。
使用MongoDB的Java驱动程序3.4.2
的MongoDB到JList的从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) {
}
插入到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());
}
'jlist'不是你的问题分配的Java。请尝试显示[mcve] –