JTable 小问题?谢谢!!!! jTable很复杂,难操作。换个思路行不行?你这里实际是要实现顺序编辑的功能,所以没必要用jtable,这样就把问题复杂化了,用其他的方式编辑,比如,每条记录用一个form形式的编辑界面。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 程序来了!!!/* * JTableDemo.java * * Created on 2004年6月28日, 上午11:00 *//** * * @author Administrator */public class JTableDemo extends javax.swing.JFrame { /** Creates new form JTableDemo */ public JTableDemo() { initComponents(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ private void initComponents() { jPanel1 = new javax.swing.JPanel(); jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); setResizable(false); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { exitForm(evt); } }); jPanel1.setPreferredSize(new java.awt.Dimension(300, 200)); jScrollPane1.setPreferredSize(new java.awt.Dimension(290, 190)); jTable1.setModel(new CellModel()); jTable1.setPreferredSize(new java.awt.Dimension(300, 260)); jScrollPane1.setViewportView(jTable1); jPanel1.add(jScrollPane1); getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER); pack(); } /** Exit the Application */ private void exitForm(java.awt.event.WindowEvent evt) { System.exit(0); } /** * @param args the command line arguments */ public static void main(String args[]) { new JTableDemo().show(); } // Variables declaration - do not modify private javax.swing.JPanel jPanel1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable jTable1; // End of variables declaration}class CellModel extends javax.swing.table.AbstractTableModel{ final String[] columnNames = {"Title 1", "Title 2", "Title 3", "Title 4"}; private Object[][] data = new Object[26][4]; public CellModel(){ for(int i = 0;i < 26;i++){ for(int j = 0;j < 4;j++){ data[i][j] = new String(""); } } } public String getColumnName(int columnIndex){ return columnNames[columnIndex]; } public Object getValueAt(int rowIndex,int columnIndex){ return data[rowIndex][columnIndex]; } public void setValueAt(Object aValue,int rowIndex,int columnIndex){ data[rowIndex][columnIndex] = aValue; } public boolean isCellEditable(int rowIndex,int columnIndex){ if(rowIndex == 0) return true; for(int i = 0;i < getColumnCount();i++){ if(!data[rowIndex - 1][i].equals("")) return true; } return false; } public int getColumnCount(){ return 4; } public int getRowCount(){ return data.length; }} class CellModel extends javax.swing.table.AbstractTableModel{}为什么我在定义CellModel 时,class 的地方总是出错? java编译能通过 运行出错 初学java请问这两种方式调用方法有什么不同 jsp怎么实现文件上传和页面的值传递??? 想用java做一个加密软件,谁能给我一点思路吗? 请教类型转换的问题 在线等..急 请问中国最好的Email系统是? 初级问题:请问java中如何从键盘输入一个字符串? 【如何屏蔽 JFrame 标题栏的“关闭”按钮】 jbuilder + jdbc??? 哪有 clearCase 2002 的crack ? 请问A b = new A();的问题? applet和servlet调用一个jar里的类,这个jar包应该放在哪里?
/*
* JTableDemo.java
*
* Created on 2004年6月28日, 上午11:00
*//**
*
* @author Administrator
*/
public class JTableDemo extends javax.swing.JFrame { /** Creates new form JTableDemo */
public JTableDemo() {
initComponents();
} /** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable(); setResizable(false);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
}); jPanel1.setPreferredSize(new java.awt.Dimension(300, 200));
jScrollPane1.setPreferredSize(new java.awt.Dimension(290, 190));
jTable1.setModel(new CellModel());
jTable1.setPreferredSize(new java.awt.Dimension(300, 260));
jScrollPane1.setViewportView(jTable1); jPanel1.add(jScrollPane1); getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER); pack();
} /** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
} /**
* @param args the command line arguments
*/
public static void main(String args[]) {
new JTableDemo().show();
}
// Variables declaration - do not modify
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration}class CellModel extends javax.swing.table.AbstractTableModel{
final String[] columnNames = {"Title 1", "Title 2", "Title 3", "Title 4"};
private Object[][] data = new Object[26][4];
public CellModel(){
for(int i = 0;i < 26;i++){
for(int j = 0;j < 4;j++){
data[i][j] = new String("");
}
}
}
public String getColumnName(int columnIndex){
return columnNames[columnIndex];
}
public Object getValueAt(int rowIndex,int columnIndex){
return data[rowIndex][columnIndex];
}
public void setValueAt(Object aValue,int rowIndex,int columnIndex){
data[rowIndex][columnIndex] = aValue;
}
public boolean isCellEditable(int rowIndex,int columnIndex){
if(rowIndex == 0) return true;
for(int i = 0;i < getColumnCount();i++){
if(!data[rowIndex - 1][i].equals("")) return true;
}
return false;
}
public int getColumnCount(){
return 4;
}
public int getRowCount(){
return data.length;
}
}
为什么我在定义CellModel 时,class 的地方总是出错?