AWT JTable选中单元格代码 table.setColumnSelectionInterval(2,2);
table.setRowSelectionInterval(2, 2);
package aa;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import javax.swing.table.AbstractTableModel;
public class Table_Model extends AbstractTableModel {
//创建数据源
private List content = null;
private String[] title_name = { "qqqqqqq", "姓名", "性别", "年龄" };
public Table_Model() {
content = new Vector();
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
if (columnIndex == 0) {
return false;
}
return true;
}
//返回 columnIndex 位置的列的名称。
public String getColumnName(int col) {
return title_name[col];
}
//返回该模型中的列数。
public int getColumnCount() {
return title_name.length;
}
//返回该模型中的行数。
public int getRowCount() {
return content.size();
}
//返回 columnIndex 和 rowIndex 位置的单元格值
public Object getValueAt(int row, int col) {
return ((Vector) content.get(row)).get(col);
}
public void addRow(String id,String name, String sex, String age) {
Vector v = new Vector(4);
v.add(0, id);
v.add(1, name);
v.add(2, sex);
v.add(3, age);
content.add(v);
}
}
package aa;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class Testss extends KeyAdapter{
private JFrame frame = null;
private JTable table = null;
private Table_Model model = null;
private JScrollPane s_pan = null;
private JPanel pane = null;
private JButton button_2 = null, button_3 = null;
public Testss() {
frame = new JFrame("JTableTest");
pane = new JPanel();
model = new Table_Model();
table = new JTable(model);
s_pan = new JScrollPane(table);
table.addKeyListener(this);
button_2 = new JButton("添加数据");
button_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
addData();
}
});
button_3 = new JButton("测试数据");
button_3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
table.requestFocusInWindow();
table.editCellAt(2, 2, null);
///选中单元格代码
table.setColumnSelectionInterval(2,2);
table.setRowSelectionInterval(2, 2);
}
});
pane.add(button_2);
pane.add(button_3);
frame.add(s_pan, BorderLayout.CENTER);
frame.add(pane, BorderLayout.NORTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setVisible(true);
}
public static void main(String args[]) {
Testss tt=new Testss();
tt.addData();
}
private void addData() {
//TableModel中的addRow方法
model.addRow("海涛","李逵","男", "19");
model.addRow("海涛","李逵","男", "19");
model.addRow("海涛","李逵","男", "19");
model.addRow("海涛","李逵","男", "19");
}
}
本文出自 “飞翔” 博客,谢绝转载!