1、创建JFrame视窗并添加一个JTable表格对象用来展现数据 JFrame f = 艘绒庳焰new JFrame();Object缪梨痤刻[][] dataSet = { { "丁丁", new Integer(66), new Integer(32), new Integer(98), new Boolean(false), new Boolean(false) },{ "阿道克", new Integer(82), new Integer(69), new Integer(128), new Boolean(true), new Boolean(false) }, };String[] n = { "姓名", "语文", "数学", "总分", "及格", "作弊" };JTable table = new JTable(dataSet, n);table.setPreferredScrollableViewportSize(new Dimension(550, 30));table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS); //设置JTable某个单元格的值 table.setValueAt(new Integer(99), 0, 1);JScrollPane scrollPane = new JScrollPane(table); f.getContentPane().add(scrollPane, BorderLayout.CENTER);f.setTitle("Tiger Table");f.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0); } });
2、添加一个按钮用来动态修改表格单元格的数值JButton updateBtn = new JButton(); updateBtn.setText("通过按钮随机修改"); Random rand = new Random(); updateBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { //通过按钮动态设置JTable某个单元格的值 table.setValueAt(new Integer(rand.nextInt()), 1, 1); updateBtn.setText(""+table.getValueAt(1, 1)); } }); f.getContentPane().add(updateBtn,BorderLayout.NORTH);
3、添加一个按钮用来实时获取表格单元格的动态值JButton dynamicBtn = new JButton(); dynamicBtn.setText("获取表格动态修改值"); f.getContentPane().add(dynamicBtn,BorderLayout.SOUTH); dynamicBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { dynamicBtn.setText("表格动态修改值(1,1)="+table.getValueAt(1, 2)); //动态更新table值 table.setValueAt(new Integer(rand.nextInt()), 1, 1); } });
4、完整的代码:package tiger;import javax.swing.*;import javax.swing.table.*;import java.awt.*;import java.awt.event.*;import java.util.*;public class TigerTable { public TigerTable() { JFrame f = new JFrame(); Object[][] dataSet = { { "丁丁", new Integer(66), new Integer(32), new Integer(98), new Boolean(false), new Boolean(false) }, { "阿道克", new Integer(82), new Integer(69), new Integer(128), new Boolean(true), new Boolean(false) }, }; String[] n = { "姓名", "语文", "数学", "总分", "及格", "作弊" }; JTable table = new JTable(dataSet, n); table.setPreferredScrollableViewportSize(new Dimension(550, 30)); table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS); //设置JTable某个单元格的值 table.setValueAt(new Integer(99), 0, 1); JScrollPane scrollPane = new JScrollPane(table); f.getContentPane().add(scrollPane, BorderLayout.CENTER); f.setTitle("Tiger Table"); f.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); JButton updateBtn = new JButton(); updateBtn.setText("通过按钮随机修改"); Random rand = new Random(); updateBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { //通过按钮动态设置JTable某个单元格的值 table.setValueAt(new Integer(rand.nextInt()), 1, 1); updateBtn.setText(""+table.getValueAt(1, 1)); } }); f.getContentPane().add(updateBtn,BorderLayout.NORTH); JButton dynamicBtn = new JButton(); dynamicBtn.setText("获取表格动态修改值"); f.getContentPane().add(dynamicBtn,BorderLayout.SOUTH); dynamicBtn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { dynamicBtn.setText("表格动态修改值(1,1)="+table.getValueAt(1, 2)); //动态更新table值 table.setValueAt(new Integer(rand.nextInt()), 1, 1); } }); f.pack(); f.show(); f.setVisible(true); } public static void main(String[] args) { new TigerTable(); }}