//***************************************************
//名称:funRefresh
//功能:刷新函数,从数据库中取得数据,并且添加到表格中
//输入:
//输出:
//返回:
//***************************************************
private void funRefresh()
{
String[] data1 = new String[10];
Format fmt = new SimpleDateFormat("yyyy年MM月dd日");try
{
    String strSql = "SELECT * FROM IPLOG";
    ResultSet rs = db.querySQL(strSql);    if (rs == null)
    {
        System.out.println("SQL 语句执行错误!");
        return;
    }    clearAll(tb);
    while (rs.next())
    {
        data1[0] = fmt.format(rs.getDate("DATES"));
        data1[1] = rs.getString("IPADDRESS");
        data1[2] = rs.getString("DAY_GJ_IN");
        data1[3] = rs.getString("NIG_GJ_IN");
        data1[4] = rs.getString("DAY_GJ_OUT");
        data1[5] = rs.getString("NIG_GJ_OUT");
        data1[6] = rs.getString("DAY_GN_IN");
        data1[7] = rs.getString("NIG_GN_IN");
        data1[8] = rs.getString("DAY_GN_OUT");
        data1[9] = rs.getString("NIG_GN_OUT");        ((DefaultTableModel) tb.getModel()).addRow(data1);
    }    if (tb.getRowCount() > 0)
    {
        btnModify.setEnabled(true);
        tb.setRowSelectionInterval(0, 0);
    }
    rs.close();
}
catch (Exception e)
{
    System.out.println(e.getMessage());
}
}//***************************************************
//名称:getTable
//功能:取得表格
//输入:
//输出:
//返回:表格
//***************************************************
private JTable getTable()
{
    if (tb == null)
    {
        ColumnNames.add("日期");
        ColumnNames.add("IP地址");
        ColumnNames.add("白天国际接入");
        ColumnNames.add("夜晚国际接入");
        ColumnNames.add("白天国际输出");
        ColumnNames.add("夜晚国际输出");
        ColumnNames.add("白天国内接入");
        ColumnNames.add("夜晚国内接入");
        ColumnNames.add("白天国内输出");
        ColumnNames.add("夜晚国内输出");        tb = new JTable(null, ColumnNames); //@@注意用null
        Font font = new Font("宋体", Font.PLAIN, 12);
        tb.setFont(font);
        TableColumn ipColumn = tb.getColumn("IP地址");
        ipColumn.setCellEditor(new DefaultCellEditor(getComboIp()));        tb.addMouseListener(new MouseListener()
        {
            public void mousePressed(MouseEvent arg0)
            {
                if (SwingUtilities.isLeftMouseButton(arg0)
                    && arg0.getClickCount() == 2)
                {
                    funModify();
                }
            }            public void mouseClicked(MouseEvent arg0)
            {            }            public void mouseReleased(MouseEvent arg0)
            {            }            public void mouseEntered(MouseEvent arg0)
            {            }            public void mouseExited(MouseEvent arg0)
            {            }
        });
    }    return (tb);
}

解决方案 »

  1.   

    //***************************************************
    //名称:funModify
    //功能:创建修改窗口
    //输入:
    //输出:
    //返回:
    //***************************************************
    private void funModify()
    {
    int lngRow = 0;
    String strDate = null;
    String strIP = null;lngRow = tb.getSelectedRow();
    strDate = (String) tb.getValueAt(lngRow, 0);
    strDate = strDate.replaceAll("年", "-");
    strDate = strDate.replaceAll("月", "-");
    strDate = strDate.replaceAll("日", "");
    strIP = (String) tb.getValueAt(lngRow, 1);
    ModifyDataFrame modiForm = new ModifyDataFrame(this);
    modiForm.setValue(strDate, strIP);
    modiForm.setVisible(true);
    }
      

  2.   

    谢谢cuizm(射天狼),问题基本解决!我原来在mouseClicked方法里面判断是否是双击事件,所以不对,
    改在了mousePressed方法里就行了,谢谢!给你加分了!
    如果愿意,把你的程序源码也发给我([email protected]),学习学习!