完整的代码:
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();
}
}