📄 tabledemo.java
字号:
/**
* <p>Title: JAVA表格使用示例</p>
* <p>Description: 第五章例子</p>
* <p>Copyright: Copyright (c) 2006</p>
* <p>Company: </p>
* @author 苏年乐
* @version 1.0
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;
import javax.swing.event.*;
public class TableDemo extends JFrame {
JTextArea txt = new JTextArea(4, 20);
// TableModel控制所有数据
class DataModel extends AbstractTableModel {
Object[][] data = {
{"one", "two", "three", "four"},
{"five", "six", "seven", "eight"} ,
{"nine", "ten", "eleven", "twelve"},
};
//当表格改变时输出表格数据
class TML implements TableModelListener {
public void tableChanged(TableModelEvent e) {
txt.setText(""); // Clear it
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[0].length; j++)
txt.append(data[i][j] + " ");
txt.append("\n");
}
}
}
public DataModel() {
addTableModelListener(new TML());
}
public int getColumnCount() {
return data[0].length;
}
public int getRowCount() {
return data.length;
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
public void
setValueAt(Object val, int row, int col) {
data[row][col] = val;
//暗示变化已经发生
fireTableDataChanged();
}
public boolean
isCellEditable(int row, int col) {
return true;
}
}//以上是DataModel的函数
public TableDemo() {
Container cp = getContentPane();
JTable table = new JTable(new DataModel());
cp.add(new JScrollPane(table));
cp.add(BorderLayout.SOUTH, txt);
this.setSize(350,200);
this.show();
}
public static void main(String[] args) {
TableDemo app=new TableDemo();
}
} ///:~
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -