public class vv extends JFrame { private JPanel jPanel = null; private JEditorPane jEditorPane = null; private JEditorPane jEditorPane1 = null; private JEditorPane jEditorPane2 = null; private JEditorPane jEditorPane3 = null; private JButton jButton = null; private JLabel jLabel = null; private JLabel jLabel1 = null; private JLabel jLabel2 = null; private JLabel jLabel3 = null; private JButton jButton1 = null; private JScrollPane jScrollPane = null;

private JTable jTable = null;
private Statement statement=null;
private ResultSet resultSet=null;

private JTableListModel tableModel= null; private JButton jButton2 = null; private JButton jButton3 = null; private JButton jButton4 = null; private JButton jButton5 = null;

private MyTable mt       = null;
/**
 * This is the default constructor
 */
public vv() {
super();
initialize();
}

/**
 * This method initializes jButton2
 * 
 * @return javax.swing.JButton
 */
private JButton getJButton2() {
if (jButton2 == null) {
jButton2 = new JButton();
jButton2.setBounds(new java.awt.Rectangle(185,72,78,34));
jButton2.setText("删除");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if (jTable.getSelectedRow() < 0){
JOptionPane.showMessageDialog(vv.this,
"请选择你将要数删除的记录", "提示!", 2);
}
else{
delete(true);
initialize();
}
}
});
}
return jButton2;
}

public void delete(boolean bl){
String[] objects=null;
String id = "";
String sql ="";
if(bl){
int ii[] = jTable.getSelectedRows();
int k = jTable.getSelectedRowCount();
for (int h =0;h<k;h++){
objects=(String[]) queryDate().get(ii[h]);
int j =Integer.parseInt(objects[0]);
objects = null;
id = id+","+j;
}
id=id.substring(1);

   sql ="delete from aaa where id in ("+id+")";
}
else{
sql="truncate table aaa";
}
if(statement==null){
LinkSql();
}
try {
statement.clearBatch();
statement.executeUpdate(sql);
}
catch (SQLException e1) {
while (e1 != null)
          {
e1.printStackTrace();
            e1 = e1.getNextException();
          }
} }
private JButton getJButton5() {
if (jButton5 == null) {
jButton5 = new JButton();
jButton5.setBounds(new java.awt.Rectangle(421,72,82,34));
jButton5.setText("清空数据");
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
if (JOptionPane.showConfirmDialog(vv.this,
"你确定要清空数据吗?","提示",
JOptionPane.OK_CANCEL_OPTION) != JOptionPane.OK_OPTION){
return;
}
delete(false);
initialize();

}
});
}
return jButton5;
} public static void main(String[] args)
    {
       JFrame frame = new vv();
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.setVisible(true);
    } /**
 * This method initializes this
 * 
 * @return void
 */
private void initialize() {
this.setTitle("计算器");
this.setContentPane(getJPanel());
this.setBounds(new java.awt.Rectangle(0,0,565,300));
// List list =queryDate();
// initTbFirst1(list);
String[] objects=(String[]) queryDate().get(0);
System.out.print(objects[0]); mt=new MyTable(queryDate());  
        jTable=new JTable(mt);
        jTable
.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
}

解决方案 »

  1.   

    private JPanel getJPanel() {
    if (jPanel == null) {
    jLabel3 = new JLabel();
    jLabel3.setBounds(new java.awt.Rectangle(410,13,51,29));
    jLabel3.setText("总分:");
    jLabel2 = new JLabel();
    jLabel2.setBounds(new java.awt.Rectangle(273,14,46,28));
    jLabel2.setText("英语:");
    jLabel1 = new JLabel();
    jLabel1.setBounds(new java.awt.Rectangle(145,12,46,26));
    jLabel1.setText("数学:");
    jLabel = new JLabel();
    jLabel.setBounds(new java.awt.Rectangle(14,12,45,26));
    jLabel.setText("语文:");
    jPanel = new JPanel();
    jPanel.setLayout(null);
    jPanel.setBackground(new java.awt.Color(153, 204, 255));
    jPanel.setName("");
    jPanel.add(getJEditorPane(), null);
    jPanel.add(getJEditorPane1(), null);
    jPanel.add(getJEditorPane2(), null);
    jPanel.add(getJEditorPane3(), null);
    jPanel.add(getJButton(), null);
    jPanel.add(jLabel, null);
    jPanel.add(jLabel1, null);
    jPanel.add(jLabel2, null);
    jPanel.add(jLabel3, null);
    jPanel.add(getJButton1(), null);
    jPanel.add(getJScrollPane(), null);
    jPanel.add(getJButton2(), null);
    jPanel.add(getJButton3(), null);
    jPanel.add(getJButton4(), null);
    jPanel.add(getJButton5(), null);
    }
    return jPanel;
    } /**
     * This method initializes jEditorPane
     * 
     * @return javax.swing.JEditorPane
     */
    private JEditorPane getJEditorPane() {
    if (jEditorPane == null) {
    jEditorPane = new JEditorPane();
    jEditorPane.setBounds(new java.awt.Rectangle(74,13,64,25));

    }
    return jEditorPane;
    } /**
     * This method initializes jEditorPane1
     * 
     * @return javax.swing.JEditorPane
     */
    private JEditorPane getJEditorPane1() {
    if (jEditorPane1 == null) {
    jEditorPane1 = new JEditorPane();
    jEditorPane1.setBounds(new java.awt.Rectangle(197,13,64,26));

    }
    return jEditorPane1;
    } /**
     * This method initializes jEditorPane2
     * 
     * @return javax.swing.JEditorPane
     */
    private JEditorPane getJEditorPane2() {
    if (jEditorPane2 == null) {
    jEditorPane2 = new JEditorPane();
    jEditorPane2.setBounds(new java.awt.Rectangle(326,16,67,25));

    }
    return jEditorPane2;
    } /**
     * This method initializes jEditorPane3
     * 
     * @return javax.swing.JEditorPane
     */
    private JEditorPane getJEditorPane3() {
    if (jEditorPane3 == null) {
    jEditorPane3 = new JEditorPane();
    jEditorPane3.setBounds(new java.awt.Rectangle(469,15,60,27));

    }
    return jEditorPane3;
    }
    private static String aMount(String amount){
    if(amount==null || amount.equals("")||amount.equals("0E-8")){
    amount ="0";
    }
    else{
    for(int j=amount.length();j>0;j--){
    if(amount.substring(j-1).equals("0"))
    {
    amount =amount.substring(0,j-1);
    }
    else if(amount.substring(j-1).equals("."))
    {
    amount = amount.substring(0,j-1);
    if(amount.equals("")){
    amount="0";
    }
    break;
    }
    else{
    break;
    }
       }
    }
    return amount;
    }
    private JButton getJButton1() {
    if (jButton1 == null) {
    jButton1 = new JButton();
    jButton1.setBounds(new java.awt.Rectangle(102,72,83,34));
    jButton1.setText("刷新");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent e) {
    initialize();
    }
    });
    }
    return jButton1;
    } private List queryDate() { 
    List list = new ArrayList();
            String sql ="select * from aaa order by id ";
    //if(statement==null){
    LinkSql();
    //}
    try {
    resultSet = statement.executeQuery(sql);
     while(resultSet.next())
      {
     String[] objects ={resultSet.getString("id"),resultSet.getString("yw"),
     resultSet.getString("sx"),resultSet.getString("yiw"),
     resultSet.getString("zf")};
     list.add(objects);
      }

    catch (SQLException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    }
    return list;
    }

    class MyTable extends AbstractTableModel {     String[] n = {"序号","语文","数学","英语","总分"};
        
        List vect = new ArrayList();
        public MyTable(List list){
         vect = list;
        }     
        public int getColumnCount() {
            return n.length;
        }     public int getRowCount() {
            return vect.size();
        }     public String getColumnName(int col) {
            return n[col];
        }     public Object getValueAt(int row, int col) {
         String[] objects=(String[]) vect.get(row);
            return objects[col];
        }
        
    public Class getColumnClass(int c) {
             return getValueAt(0, c).getClass();
        }

    public boolean isCellEditable(int rowIndex, int columnIndex) {
    return true;
        } }
    /**
     * This method initializes jScrollPane
     * 
     * @return javax.swing.JScrollPane
     */
    private JScrollPane getJScrollPane() {
    if (jScrollPane == null) {
    jScrollPane = new JScrollPane();
    jScrollPane.setBounds(new java.awt.Rectangle(10,122,508,137));
    jScrollPane.setViewportView(getJTable());
    }
    return jScrollPane;
    } /**
     * This method initializes jTable
     * 
     * @return javax.swing.JTable
     */
    private JTable getJTable() {
    if (jTable == null) {
    jTable = new JTable();
    }
    return jTable;
    } public Statement LinkSql() {
    // Connection conn=null;
    try {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    } catch (java.lang.ClassNotFoundException e) {
    System.err.print("ClassNotFoundException: ");
    // 加载jdbc-odbc桥错误
    System.err.println(e.getMessage());
    }
    try {
    String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=bcus";
    String user = "sa";
    String password = "";
    Connection conn = DriverManager.getConnection(url, user, password);
    statement = conn.createStatement();

    } catch (SQLException ex) {
    System.err.println("SQLException: " + ex.getMessage());
    }
    return statement;
    }}
      

  2.   

    JTable数据显示通过MYtable这个类继承AbstractTableModel来实现
    通过initialize()这个方法做具体显示麻烦各位兄弟看下这两个方法
      

  3.   

    来不及调试,只是感觉问题主要出在MyTable的实现上。先建议你使用DefaultTableModel这个默认实现,应该可以满足你的要求。具体用法参考jdk。