`
lushuaiyin
  • 浏览: 673513 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JTable常见用法细则+设置某列可编辑+滚动表格

 
阅读更多

JTable常见用法细则


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="http://www.blogjava.net/Images/OutliningIndicators/None.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="http://www.blogjava.net/Images/OutliningIndicators/None.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="http://www.blogjava.net/Images/OutliningIndicators/None.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="http://www.blogjava.net/Images/OutliningIndicators/None.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="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"></wbr>


4) 添加表格行

DefaultTableModel<wbr>tableModel<wbr></wbr></wbr>=<wbr>(DefaultTableModel)<wbr>table.getModel();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" name="Codehighlighter1_99_127_Open_Image"><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.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="http://www.blogjava.net/Images/OutliningIndicators/None.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="http://www.blogjava.net/Images/OutliningIndicators/None.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="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"><wbr><wbr><wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.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="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"><wbr><wbr><wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.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="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.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="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"><wbr><wbr>.getModel();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"><wbr><wbr>tableModel.setRowCount(</wbr></wbr></wbr></wbr></wbr></wbr>0);//<wbr>清除原有行<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"><wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.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="http://www.blogjava.net/Images/OutliningIndicators/InBlock.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="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"><wbr><wbr></wbr></wbr></wbr></wbr>
//<wbr>更新表格</wbr>
<wbr><wbr>table.invalidate();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.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="http://www.blogjava.net/Images/OutliningIndicators/InBlock.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="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"><wbr><wbr>.getModel();<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"><wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.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="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" name="Codehighlighter1_239_523_Open_Image"><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.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="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"><wbr><wbr><wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.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="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"><wbr><wbr><wbr><wbr>members.add(member);<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"><wbr><wbr></wbr></wbr></wbr></wbr>
return<wbr>members;<br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.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="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" name="Codehighlighter1_147_231_Open_Image"><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.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="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align="top"><wbr><wbr><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/dot.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="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top"><br><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.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="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" name="Codehighlighter1_247_359_Open_Image"><img title="JTable常见用法细则+设置某列可编辑+滚动表格" alt="" src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.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&lt;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;
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics