簡體   English   中英

Java-將列和數據添加到現有的JTable中

[英]Java - Adding columns and data into existing JTable

我有一個小的Java應用程序,我想在其中放入一些數據,並將其列放在現有JTable中。

這是我的專欄和數據;

String[][] data; // this object gets it's contents from another function
String[] columns={"Name","Value"}; //these are the columns that should be added to JTable

那么,我應該怎么做才能添加並查看“現有” JTable中的數據? 我不想創建動態JTable。

編輯:

我把它寫到了上面的變量中。 之后如何刷新我的JTable?

tblSonuc=new JTable(data,columns);

要動態添加行,請使用TableModel 一個簡單的已經實現的是DefaultTableModel 只需將模型設置為您的JTable

String[] columns = {"Column 1","Column 2"};
DefaultTableModel model = new DefaultTableModel(columns, 0); <-- 0 is number of rows
JTable table = new JTable(model);

只需使用模型的addRow方法即可,該方法采用Object[]Vector 所以你可以這樣做

Object[] rowData { data1, data2 };
model.addRow(rowData);

有關更多方法,請參見如何使用表DefaultTableModel


編輯

“此字符串數組已經創建並填充到類A中。我只是從A中獲取它,並將其放入類B中的新變量中”

如果要從類的2D數組中添加數據,只需循環遍歷並將其添加到模型中

A a = new A();
String[][] students = a.getDtudents();

for (String[] row : students) {
    model.addRow(row):
}

編輯2

如果使用的是GUI Builder,則JTable的模型默認為DefaultTableModel 要設置模型的設置,只需

  1. 在設計視圖中選擇/突出顯示表格
  2. 轉到屬性面板,然后單擊模型屬性右側的...。
  3. 在對話框中,您可以將行數設置為0,並設置列標題。

現在,假設你要訪問的模型actionPerformed只是這樣做

private void actionPerformed(java.awt.event.ActionPerformed e) {
    DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
    model.setRorCount(0);
    A a = new A();
    String[][] students = a.getStudents();
    for (String[] row : students) {
        model.addRow(row);
    }
}

用所需的數據填充data [] [],對column []進行同樣的操作,然后將其放入構造函數中。 像這樣:

String[][] data = {{"Row1Col1","Row1Col2"},{"Row2Col1","Row2Col2"}};
String[] columns = {"Column 1","Column 2"};
JTable table = new JTable(data, columns);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM