如何在一个已画好的界面表格中写入二维数组?最好有源码,可以参考下!
哪位熟悉的朋友指教一下!感激不尽。
之前那个采用适配器模式
便于重构
看看这个怎么样
[code="java"]
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(500, 400);
JPanel panel = new JPanel();
frame.add(panel);
DefaultTableModel model = new DefaultTableModel();
model.addColumn("Column 1");
model.addColumn("Column 2");
model.addColumn("Column 3");
JTable table = new JTable(model);
JScrollPane pane = new JScrollPane(table);
panel.add(pane);
/*
* 此处写入
*/
String[][] values = new String[][]{
{"a", "b", "c"},
{"d", "e", "f"},
{"g", "h", "i"}
};
for(int i = 0; i < values.length; i++) {
model.insertRow(model.getRowCount(), values[i]);
}
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
[/code]
[code="java"]
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
public class JTableTest extends AbstractTableModel {
String[][] values = new String[][]{
{"a", "b", "c"},
{"d", "e", "f"}
};
String[] columnnames = {"Column 1", "Column 2" ,"Column 3"};
public int getColumnCount() {
return 3;
}
public int getRowCount() {
return 2;
}
public Object getValueAt(int rowIndex, int columnIndex) {
return values[rowIndex][columnIndex];
}
@Override
public String getColumnName(int column) {
return columnnames[column];
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(500, 400);
JPanel panel = new JPanel();
frame.add(panel);
JTable table = new JTable(new JTableTest());
JScrollPane pane = new JScrollPane(table);
panel.add(pane);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
[/code]