注意table的参数(Object[] [],Object[])就行了。
class WinTable extends JFrame implements FocusListener, java.awt.event.ActionListener{ private Container con = this.getContentPane(); private Object data[] [] = {{"孙悟空","88","92","0"}, {"猪八戒","55","69","0"}, {"唐僧","92","89","0"} }; private Object title[] = { "姓名","英语成绩","数学成绩","总成绩" }; private JButton button = new JButton("计算每人总成绩"); private JTable table = new JTable(data,title); public WinTable() { this.setTitle("表格案例"); this.setSize(500, 300); this.setLocation(500, 300); con.add(new JLabel("修改或输入数据后,需要回车确认"),BorderLayout.NORTH); con.add(button, BorderLayout.SOUTH); table.setRowHeight(30); table.setFont(new Font("宋体",Font.BOLD,20)); table.getTableHeader().setFont(new Font("宋体",Font.BOLD,20)); con.add(new JScrollPane(table), BorderLayout.CENTER); button.addActionListener(this); table.addFocusListener(this); this.setVisible(true); this.validate(); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void calculateTotal() { for(int i=0;i<data.length;i++) { double sum=0; boolean boo=true; for(int j=1;j<=2;j++) { sum=sum+Double.parseDouble(data[i][j].toString()); table.repaint(); } } } @Override public void focusGained(FocusEvent arg0) { // TODO Auto-generated method stub this.calculateTotal(); } @Override public void focusLost(FocusEvent arg0) { // TODO Auto-generated method stub } @Override public void onAction() { // TODO Auto-generated method stub } @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub this.calculateTotal(); } } public class table { public static void main(String[] args) { new WinTable(); } }
效果显示: