tabledemo2.java
来自「java 完全探索的随书源码」· Java 代码 · 共 101 行
JAVA
101 行
// TableDemo2.java
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
import java.awt.event.*;
class TableDemo2 extends JFrame implements TableModelListener
{
TableDemo2 (String title)
{
super (title);
addWindowListener (new WindowAdapter ()
{
public void windowClosing (WindowEvent e)
{
System.exit (0);
}
});
JTable jt = new JTable (new MyTableModel ());
// jt.setSelectionMode (ListSelectionModel.SINGLE_SELECTION);
jt.getModel ().addTableModelListener (this);
getContentPane ().add (jt);
setSize (300, 90);
setVisible (true);
}
public void tableChanged (TableModelEvent e)
{
System.out.println ("Affected column = " + e.getColumn ());
System.out.println ("First affected row = " + e.getFirstRow ());
System.out.println ("Last affected row = " + e.getLastRow ());
}
public static void main (String [] args)
{
new TableDemo2 ("Table Demo2");
}
}
class MyTableModel extends AbstractTableModel
{
private String [][] data =
{
{ "1", "Introduction" },
{ "2", "What Java can do for you" },
{ "3", "Java architecture" },
{ "4", "Installing Java" },
{ "5", "JDK tools" }
};
private String [] columnNames =
{
"Chapter Number",
"Chapter Title"
};
public int getRowCount ()
{
return data.length;
}
public int getColumnCount ()
{
// Assume that all rows have the same number of columns.
// As you probably know, it is possible for each row in
// a Java array to have a different number of columns.
return data [0].length;
}
public Object getValueAt (int row, int column)
{
return data [row] [column];
}
public boolean isCellEditable (int row, int column)
{
return (column == 1) ? false : true;
}
public void setValueAt (Object value, int row, int col)
{
if (value instanceof String)
{
data [row] [col] = (String) value;
// Must fire a table model event so that views are
// notified about the change to the table's model.
fireTableCellUpdated (row, col);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?