[英]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
。 要設置模型的設置,只需
現在,假設你要訪問的模型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.