2013-12-10 64 views
0

我試圖從填充我得到在Java中使用蒙戈驅動程序中的數據一個JTable來填充在Java中JTable中,這是我的代碼:如何使用蒙戈司機

Pattern pattern = Pattern.compile(".*"+textArea.getText()+".*", Pattern.CASE_INSENSITIVE); 
BasicDBObject query = new BasicDBObject("content:encoded", pattern); 

DBCursor cursor = blogTable.find(query); 

while (cursor.hasNext()) 
{ 
    chatArea.append("\n"+cursor.next().toString()); //I want to populate the jtable here instead of just appending in the JtextArea 
}//End of while 

我也不能投影場(S)我想,我的意思是我只需要一列(即冠軍),但我得到的結果中的所有列

請幫幫忙,

感謝

回答

2

tutorial代表JTabel

下面是簡單的例子給你:

import java.awt.BorderLayout; 
import java.awt.EventQueue; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JScrollPane; 
import javax.swing.JTable; 
import javax.swing.table.DefaultTableModel; 

public class Example extends JFrame { 

    private DefaultTableModel model; 

    public Example() { 
     JTable table = new JTable(model = new DefaultTableModel(new Object[][]{},new Object[]{"data"})); 
     add(new JScrollPane(table)); 
     JButton populate = new JButton("populate"); 
     populate.addActionListener(new ActionListener() { 

      @Override 
      public void actionPerformed(ActionEvent arg0) { 
       //Pattern pattern = Pattern.compile(".*"+textArea.getText()+".*", Pattern.CASE_INSENSITIVE); 
       //BasicDBObject query = new BasicDBObject("content:encoded", pattern); 
       //DBCursor cursor = blogTable.find(query); 
       //while (cursor.hasNext()) { 
       // model.addRow(new Object[]{cursor.next().toString()}); 
       //} 

      } 
     }); 
     add(populate,BorderLayout.NORTH); 
    } 

    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 
      @Override 
      public void run() { 
       Example frame = new Example(); 
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
       frame.pack(); 
       frame.setLocationRelativeTo(null); 
       frame.setVisible(true); 
      } 
     }); 
    } 
} 

populate按鈕,從您的BD獲取數據,並在while環新行添加到表模型。

+0

感謝它的工作原理,我知道我很貪心,但是你知道我怎麼能把結果投影到我在mongo查詢中得到的結果 – Snedden27

+0

對不起,但爲此我幫不了你。 – alex2410

2

爲了得到場的投影,則應該通過DBOBJECT用於投影,

DBCursor cursor = collection.find(query, projectionQuery);

的投影是在DBOBJECT鍵 - 值對的表格。 其中,

鍵是要投影的字段的名稱。 值可以是0或1.
0 - 表示從結果集中排除特定列。
1-手段包括結果集中的特定列。

欲瞭解更多信息,請參閱here

+0

+1爲好的答案 –