Java使用自定义的tableModel,设置可编辑方式 (一)

2014-11-24 08:41:49 · 作者: · 浏览: 11
\

[java]
package com.han;

import java.awt.BorderLayout;
import java.util.Vector;

import javax.swing.JFrame;

/**
* Provide a fixed column in a table.
*
*

public boolean isCellEditable(int row, int column) {


return getModel().isCellEditable(convertRowIndexToModel(row),


convertColumnIndexToModel(column));


}



* so we can also directly rewrite the isCellEditable() in the table model.
*
* @author Gaowen
*
*/

public class JTable4_Modified extends JFrame {
/**
*
*/
private static final long serialVersionUID = 805308369080023303L;

public JTable4_Modified() {
super();
setTitle("提供行标题栏的表格");
setBounds(100, 100, 500, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Vector columnNameV = new Vector();
columnNameV.add("日期");
for (int i = 1; i < 21; i++) {
columnNameV.add("商品" + i);
}
Vector> tableva lueV = new Vector>();
for (int row = 1; row < 31; row++) {
Vector rowV = new Vector();
rowV.add(row);
for (int col = 0; col < 20; col++) {
rowV.add((int) (Math.random() * 1000));
}
tableva lueV.add(rowV);
}
final MFixedColumnTable_Modified panel = new MFixedColumnTable_Modified(columnNameV,
tableva lueV, 1);
getContentPane().add(panel, BorderLayout.CENTER);
}

public static void main(String[] args) {
// TODO Auto-generated method stub
JTable4_Modified frame = new JTable4_Modified();
frame.setVisible(true);
}
}

package com.han;

import java.awt.BorderLayout;
import java.util.Vector;

import javax.swing.JFrame;

/**
* Provide a fixed column in a table.
*
*

public boolean isCellEditable(int row, int column) {


return getModel().isCellEditable(convertRowIndexToModel(row),


convertColumnIndexToModel(column));


}



* so we can also directly rewrite the isCellEditable() in the table model.
*
* @author Gaowen
*
*/

public class JTable4_Modified extends JFrame {
/**
*
*/
private static final long serialVersionUID = 805308369080023303L;

public JTable4_Modified() {
super();
setTitle("提供行标题栏的表格");
setBounds(100, 100, 500, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Vector columnNameV = new Vector();
columnNameV.add("日期");
for (int i = 1; i < 21; i++) {
columnNameV.add("商品" + i);
}
Vector> tableva lueV = new Vector>();
for (int row = 1; row < 31; row++) {
Vector rowV = new Vector();
rowV.add(row);
for (int col = 0; col < 20; col++) {
rowV.add((int) (Math.random() * 1000));
}
tableva lueV.add(rowV);
}
final MFixedColumnTable_Modified panel = new MFixedColumnTable_Modified(columnNameV,
tableva lueV, 1);
getContentPane().add(panel, BorderLayout.CENTER);
}

public static void main(String[] args) {
// TODO Auto-generated method stub
JTable4_Modified frame = new JTable4_Modified();
frame.setVisible(true);
}
}

[java]
package com.han;

import java.awt.BorderLayout;
import java.util.Vector;

import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JViewport;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event