map数据添加到jtable
本帖最后由 wea56567 于 2013-06-24 15:57:28 编辑
            运用map的程序把动态数据写到jtable里面去,
求指导
              
------解决方案--------------------循环map,动态创建jtable的每一行,最后追加到jtable容器上
------解决方案--------------------首先有一个tablemodel, 把hashmap放进去, 然后getvalueat(row,col)显示数据
修改, setvalueat(row,col,value) 中修改map
------解决方案--------------------package com.sy.table;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.util.HashMap;
import java.util.Set;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class TableTest {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		JFrame frame = new JFrame();
		MyTableModel model = new MyTableModel();
		HashMap<String,String[]> map = new HashMap<String, String[]>();
		for(int i=0;i<10;i++){
			map.put(i+"", new String[]{i+""+1,i+""+2,i+""+3,i+""+4,i+""+5});
		}
		model.setMap(map);
		JTable table = new JTable(model);
		JScrollPane pane = new JScrollPane(table);
		table.setSize(450, 390);
		frame.add(pane);
		frame.setSize(500, 400);
		frame.setVisible(true);
	}
}
class MyTableModel extends DefaultTableModel{
	private HashMap<String,String[]> map = null;
	@Override
	public Object getValueAt(int row, int column) {
		// TODO Auto-generated method stub
		Set set = getMap().keySet();
		Object[] keys = set.toArray(new String[0]);
		return getMap().get(keys[row])[column];
	}
	@Override
	public void setValueAt(Object aValue, int row, int column) {
		// TODO Auto-generated method stub