JTable是Swing编程中很常用的控件,这里总结了一些常用方法以备查阅.欢迎补充,转载请注明作者与出处.
一.创建表格控件的各种方式:
1)<wbr><em>调用无参构造函数</em>.<br></wbr>
JTable<wbr>table<wbr></wbr></wbr>
=
<wbr></wbr>
new
<wbr>JTable();</wbr>
2)<wbr><em>以表头和表数据创建表格</em>.<br></wbr>
Object[][]<wbr>cellData<wbr></wbr></wbr>
=
<wbr></wbr>
{
{"row1-col1",<wbr></wbr>"row1-col2"},
{"row2-col1",<wbr></wbr>"row2-col2"}}
;

String[]<wbr>columnNames<wbr></wbr></wbr>
=
<wbr></wbr>
{"col1",<wbr></wbr>"col2"}
;
<wbr><wbr><wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif" align="top">JTable<wbr>table<wbr></wbr></wbr></wbr></wbr></wbr></wbr>
=
<wbr></wbr>
new
<wbr>JTable(cellData,<wbr>columnNames);</wbr></wbr>
3)<wbr><em>以表头和表数据创建表格,并且让表单元格不可改</em>.<br></wbr>
String[]<wbr>headers<wbr></wbr></wbr>
=
<wbr></wbr>
{<wbr></wbr>"表头一",<wbr></wbr>"表头二",<wbr></wbr>"表头三"<wbr>}</wbr>
;
Object[][]<wbr>cellData<wbr></wbr></wbr>
=
<wbr></wbr>
null
;


DefaultTableModel<wbr>model<wbr></wbr></wbr>
=
<wbr></wbr>
new
<wbr>DefaultTableModel(cellData,<wbr>headers)<wbr></wbr></wbr></wbr>
{


<wbr><wbr></wbr></wbr>public<wbr></wbr>boolean<wbr>isCellEditable(</wbr>int<wbr>row,<wbr></wbr></wbr>int<wbr>column)<wbr></wbr></wbr>
{
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>return<wbr></wbr>false;
<wbr><wbr>}</wbr></wbr>
}
;

table<wbr></wbr>
=
<wbr></wbr>
new
<wbr>JTable(model);</wbr>
二.对表格列的控制
1) 设置列不可随容器组件大小变化自动调整宽度.
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
2) 限制某列的宽度.
TableColumn<wbr>firsetColumn<wbr></wbr></wbr>
=
<wbr>table.getColumnModel().getColumn(</wbr>
0
);
firsetColumn.setPreferredWidth(
30
);
firsetColumn.setMaxWidth(
30
);
firsetColumn.setMinWidth(
30
);
3) 设置当前列数.
DefaultTableModel<wbr>tableModel<wbr></wbr></wbr>
=
<wbr>(DefaultTableModel)<wbr>table.getModel();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif" align="top"></wbr></wbr>
int
<wbr>count</wbr>
=
5
;
tableModel.setColumnCount(count);
4) 取得表格列数
int
<wbr>cols<wbr></wbr></wbr>
=
<wbr>table.getColumnCount();</wbr>
5) 添加列
DefaultTableModel<wbr>tableModel<wbr></wbr></wbr>
=
<wbr>(DefaultTableModel)<wbr>table.getModel();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif" align="top">tableModel.addColumn(</wbr></wbr>
"
新列名
"
);
6) 删除列
table.removeColumn(table.getColumnModel().getColumn(columnIndex));
//
<wbr>columnIndex是要删除的列序号</wbr>
三.对表格行的控制
1) 设置行高
table.setRowHeight(
20
);
2) 设置当前航数
DefaultTableModel<wbr>tableModel<wbr></wbr></wbr>
=
<wbr>(DefaultTableModel)<wbr>table.getModel();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif" align="top"></wbr></wbr>
int
<wbr>n</wbr>
=
5
;
tableModel.setRowCount(n);
3) 取得表格行数
int
<wbr>rows<wbr></wbr></wbr>
=
<wbr>table.getRowCount();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif" align="top"></wbr>
4) 添加表格行
DefaultTableModel<wbr>tableModel<wbr></wbr></wbr>
=
<wbr>(DefaultTableModel)<wbr>table.getModel();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/1fa987a29c6482f53d401256f96355eb.gif" align="top" name="Codehighlighter1_99_127_Open_Image"><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif" align="top" name="Codehighlighter1_99_127_Closed_Image">tableModel.addRow(</wbr></wbr>
new
<wbr>Object[]</wbr>
{"sitinspring",<wbr></wbr>"35",<wbr></wbr>"Boss"}
);
5) 删除表格行
DefaultTableModel<wbr>tableModel<wbr></wbr></wbr>
=
<wbr>(DefaultTableModel)<wbr>table.getModel();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif" align="top">model.removeRow(rowIndex);</wbr></wbr>
//
<wbr>rowIndex是要删除的行序号</wbr>
四.存取表格单元格的数据
1) 取单元格数据
DefaultTableModel<wbr>tableModel<wbr></wbr></wbr>
=
<wbr>(DefaultTableModel)<wbr>table.getModel();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif" align="top">String<wbr>cellValue</wbr></wbr></wbr>
=
(String)<wbr>tableModel.getValueAt(row,<wbr>column);</wbr></wbr>
//
<wbr>取单元格数据,row是行号,column是列号</wbr>
2) 填充数据到表格.
注:数据是Member类型的链表,Member类如下:
public
<wbr></wbr>
class
<wbr>Member</wbr>
{
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>//<wbr>名称</wbr>
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>private<wbr>String<wbr>name;<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr><wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//<wbr>年龄</wbr>
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>private<wbr>String<wbr>age;<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr><wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//<wbr>职务</wbr>
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>private<wbr>String<wbr>title;<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/8f1ba5b45633e9678d1db480c16cae3f.gif" align="top"> }</wbr></wbr>
填充数据的代码:
public
<wbr></wbr>
void
<wbr>fillTable(List</wbr>
<
Member
>
<wbr>members)</wbr>
{
<wbr><wbr>DefaultTableModel<wbr>tableModel<wbr></wbr></wbr></wbr></wbr>=<wbr>(DefaultTableModel)<wbr>table<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr>.getModel();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr>tableModel.setRowCount(</wbr></wbr></wbr></wbr></wbr></wbr>0);//<wbr>清除原有行<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr></wbr></wbr></wbr></wbr></wbr>//<wbr>填充数据</wbr>

<wbr><wbr></wbr></wbr>for(Member<wbr>member:members)</wbr>
{
<wbr><wbr><wbr><wbr>String[]<wbr>arr</wbr></wbr></wbr></wbr></wbr>=new<wbr>String[</wbr>3];
<wbr><wbr><wbr><wbr>arr[</wbr></wbr></wbr></wbr>0]=member.getName();
<wbr><wbr><wbr><wbr>arr[</wbr></wbr></wbr></wbr>1]=member.getAge();
<wbr><wbr><wbr><wbr>arr[</wbr></wbr></wbr></wbr>2]=member.getTitle();
<wbr><wbr><wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>//<wbr>添加数据到表格</wbr>
<wbr><wbr><wbr><wbr>tableModel.addRow(arr);<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/ecedf933ec37d714bd4c2545da43add2.gif" align="top"><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr></wbr></wbr></wbr></wbr>//<wbr>更新表格</wbr>
<wbr><wbr>table.invalidate();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/8f1ba5b45633e9678d1db480c16cae3f.gif" align="top"> }</wbr></wbr>
2) 取得表格中的数据
public
<wbr>List</wbr>
<
Member
>
<wbr>getShowMembers()</wbr>
{
<wbr><wbr>List</wbr></wbr><Member><wbr>members</wbr>=new<wbr>ArrayList</wbr><Member>();
<wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr>DefaultTableModel<wbr>tableModel<wbr></wbr></wbr></wbr></wbr></wbr></wbr>=<wbr>(DefaultTableModel)<wbr>table<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr>.getModel();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>int<wbr>rowCount</wbr>=tableModel.getRowCount();
<wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/97e794c86028c5f5b5461ae5ef440a4c.gif" align="top" name="Codehighlighter1_239_523_Open_Image"><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif" align="top" name="Codehighlighter1_239_523_Closed_Image"><wbr><wbr></wbr></wbr></wbr></wbr>for(int<wbr>i</wbr>=0;i<rowCount;i++)
{
<wbr><wbr><wbr><wbr>Member<wbr>member</wbr></wbr></wbr></wbr></wbr>=new<wbr>Member();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr><wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr><wbr><wbr>member.setName((String)tableModel.getValueAt(i,<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>0));//<wbr>取得第i行第一列的数据</wbr>
<wbr><wbr><wbr><wbr>member.setAge((String)tableModel.getValueAt(i,<wbr></wbr></wbr></wbr></wbr></wbr>1));//<wbr>取得第i行第二列的数据</wbr>
<wbr><wbr><wbr><wbr>member.setTitle((String)tableModel.getValueAt(i,<wbr></wbr></wbr></wbr></wbr></wbr>2));//<wbr>取得第i行第三列的数据</wbr>
<wbr><wbr><wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr><wbr><wbr>members.add(member);<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/ecedf933ec37d714bd4c2545da43add2.gif" align="top"><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr></wbr></wbr></wbr></wbr>return<wbr>members;<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/8f1ba5b45633e9678d1db480c16cae3f.gif" align="top"> }</wbr>
五.取得用户所选的行
1) 取得用户所选的单行
int
<wbr>selectRows</wbr>
=
table.getSelectedRows().length;
//
<wbr>取得用户所选行的行数</wbr>
DefaultTableModel<wbr>tableModel<wbr></wbr></wbr>
=
<wbr>(DefaultTableModel)<wbr>table.getModel();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif" align="top"><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/1fa987a29c6482f53d401256f96355eb.gif" align="top" name="Codehighlighter1_147_231_Open_Image"><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif" align="top" name="Codehighlighter1_147_231_Closed_Image"></wbr></wbr>
if
(selectRows
==
1
)
{
<wbr><wbr></wbr></wbr>int<wbr>selectedRowIndex<wbr></wbr></wbr>=<wbr>table.getSelectedRow();<wbr></wbr></wbr>//<wbr>取得用户所选单行<wbr><wbr></wbr></wbr></wbr>
<wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/d18c02628675d0a2c816449d98bda930.gif" align="top"><wbr><wbr><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/9b8a8a44dd1c74ae49c20a7cd451974e.gif">.</wbr></wbr></wbr></wbr>//<wbr>进行相关处理</wbr>
}
2) 取得用户所选的多行
int
<wbr>selectRows</wbr>
=
table.getSelectedRows().length;
//
<wbr>取得用户所选行的行数</wbr>
DefaultTableModel<wbr>tableModel<wbr></wbr></wbr>
=
<wbr>(DefaultTableModel)<wbr>table.getModel();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif" align="top"><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif" align="top"></wbr></wbr>
if
(selectRows
>
1
)
<wbr><wbr></wbr></wbr>
int
[]<wbr>selRowIndexs</wbr>
=
table.getSelectedRows();
//
<wbr>用户所选行的序列</wbr>
<wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/1fa987a29c6482f53d401256f96355eb.gif" align="top" name="Codehighlighter1_247_359_Open_Image"><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif" align="top" name="Codehighlighter1_247_359_Closed_Image"><wbr><wbr></wbr></wbr></wbr></wbr>
for
(
int
<wbr>i</wbr>
=
0
;i
<
selRowIndexs.length;i
++
)
{
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>//<wbr>用tableModel.getValueAt(row,<wbr>column)取单元格数据</wbr></wbr>
<wbr><wbr><wbr><wbr>String<wbr>cellValue</wbr></wbr></wbr></wbr></wbr>=(String)<wbr>tableModel.getValueAt(i,<wbr></wbr></wbr>1);
<wbr><wbr>}</wbr></wbr>
}
六.添加表格的事件处理
view.getTable().addMouseListener(
new
<wbr>MouseListener()<wbr></wbr></wbr>
{

<wbr><wbr></wbr></wbr>public<wbr></wbr>void<wbr>mousePressed(MouseEvent<wbr>e)<wbr></wbr></wbr></wbr>
{
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>//<wbr>鼠标按下时的处理</wbr>
<wbr><wbr>}</wbr></wbr>


<wbr><wbr></wbr></wbr>public<wbr></wbr>void<wbr>mouseReleased(MouseEvent<wbr>e)<wbr></wbr></wbr></wbr>
{
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>//<wbr>鼠标松开时的处理</wbr>
<wbr><wbr>}</wbr></wbr>


<wbr><wbr></wbr></wbr>public<wbr></wbr>void<wbr>mouseEntered(MouseEvent<wbr>e)<wbr></wbr></wbr></wbr>
{
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>//<wbr>鼠标进入表格时的处理</wbr>
<wbr><wbr>}</wbr></wbr>


<wbr><wbr></wbr></wbr>public<wbr></wbr>void<wbr>mouseExited(MouseEvent<wbr>e)<wbr></wbr></wbr></wbr>
{
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>//<wbr>鼠标退出表格时的处理</wbr>
<wbr><wbr>}</wbr></wbr>


<wbr><wbr></wbr></wbr>public<wbr></wbr>void<wbr>mouseClicked(MouseEvent<wbr>e)<wbr></wbr></wbr></wbr>
{
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>//<wbr>鼠标点击时的处理</wbr>
<wbr><wbr>}</wbr></wbr>
}
);
例子:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class PTest{
<wbr><br><wbr>public PTest()<br><wbr>{<br><wbr> String head[] = {"学号", "姓名", "成绩(请双击以下空格输入)"};<wbr><br><wbr><br><wbr> Icon bug = new ImageIcon(getClass().getResource("789.jpg"));<br><wbr> JLabel a = new JLabel (bug);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr> JTable a1 = new JTable (20,3);<br><wbr> a1.setRowHeight (30);//设置高度<br><wbr> a1.setDragEnabled(true);<br><wbr><br><span style="color:#ff0000"><wbr> //设置第一、二列不可可编辑</wbr></span><br><wbr> DefaultTableModel tableModel = new DefaultTableModel(20,3){<br><wbr><wbr> boolean[] editables = {false, false, true};<br><wbr><wbr> public boolean isCellEditable(int row, int col)<br><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr> return editables[col];<br><wbr><wbr> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
//使table不可编辑的代码(放在model中有效)全部不可编辑
//public boolean isCellEditable(int row, int column)
// {
// return false;
// }
<wbr><wbr><wbr><wbr><wbr> };<wbr><br><wbr><wbr><wbr><wbr><wbr> a1.setModel(tableModel);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr> for (int i=0; i<3; i++)<br><wbr><wbr>a1.getModel().setValueAt(head[i], 0, i);</wbr></wbr></wbr>
<wbr><wbr><br><wbr><wbr> JPanel panelwrap = new JPanel (new FlowLayout ());<br><wbr><wbr> JPanel panel = new JPanel (new GridLayout (2,1));<br><wbr><wbr> panel.setPreferredSize (new Dimension (500,400));<br><wbr><wbr> // panel.setBackground (Color.black);<br><wbr><wbr> panel.add (a,BorderLayout.CENTER);<br><wbr><wbr> JScrollPane a2 = new JScrollPane (a1);<br><wbr><wbr> panel.add (a2,BorderLayout.CENTER);<br><wbr><wbr> panelwrap.add(panel);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> JFrame frame = new JFrame ("JTableDemo");<br><wbr><wbr> frame.setDefaultCloseOperation<wbr> (JFrame.EXIT_ON_CLOSE);<br><wbr><wbr> frame.setContentPane (panelwrap);<br><wbr><wbr> frame.setSize(500,400);<br><wbr><wbr> frame.pack();<br><wbr><wbr> frame.show();<br><wbr>}<br><wbr>public static void main(String[] args) {<br><wbr><wbr>PTest k = new PTest();<br><wbr>}<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
//////////////////////////////////////////自己的//////////////////////////////////////
private JTable getJTable0() {
if (jTable0 == null) {
jTable0 = new JTable();
jTable0.setModel(new DefaultTableModel(new Object[][] { {false, "null", "null", "com1", "null", "null", "null", "null", "null", "null", },
{false, "null", "null", "com2", "null", "null", "null", "null", "null", "null", },
{ false, "null", "null", "com3", "null", "null", "null", "null", "null", "null",},
{ false,"null", "null", "com4", "null", "null", "null", "null", "null", "null", },
{ false,"null", "null", "com5", "null", "null", "null", "null", "null", "null", },
{ false, "null", "null", "com6", "null", "null", "null", "null", "null", "null",},
{ false, "null", "null", "com7", "null", "null", "null", "null", "null", "null", },
{false, "null", "null", "com8", "null", "null", "null", "null", "null", "null", },
{ false,"null", "null", "com9", "null", "null", "null", "null", "null", "null", },
{ false,"null", "null", "com10", "null", "null", "null", "null", "null", "null", },
{false, "null", "null", "com11", "null", "null", "null", "null", "null", "null", },
{ false, "null", "null", "com12", "null", "null", "null", "null", "null", "null", }, }, new String[] {"操作", "ID", "status", "序号", "产品序列号", "半成品序列号",
"所属工作任务号", "产品型号(pn码)", "生产进度状态", "端口状态", }) {
private static final long serialVersionUID = 1L;
Class<?>[] types = new Class<?>[] { Boolean.class, Object.class, Object.class, Object.class, Object.class, Object.class, Object.class, Object.class, Object.class,
Object.class, };
public Class<?> getColumnClass(int columnIndex) {
return types[columnIndex];
}
////使table不可编辑的代码(放在model中有效)全部不可编辑
//public boolean isCellEditable(int row, int column)
// {
// return false;
// }
//指定列不可编辑
boolean[] editables = {true, false, false,false,false,false,false,false,false,false};
public boolean isCellEditable(int row, int col)
{
return editables[col];
}
//指定行不可编辑
boolean[] editables = {true, false, false,false,false,false,false,false};
public boolean isCellEditable(int row, int col)
{
return editables[row];
}
});
}
return jTable0;
}