【问题标题】:Maximum number lines permitted on a jtablejtable 允许的最大行数
【发布时间】:2023-03-24 16:46:02
【问题描述】:

有人知道jFrame中的jTable是否有显示行数限制?我必须在 jTable 中显示 9 500 000 行,有人知道这是否可能?

我的代码:

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {

        double prob;
        Vector row = new Vector();
        int cont=0;
        DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
        for (int i = 0; i < 2; i ++) {
            for (int j = 0; j < 4; j++){
                for (int k = 0; k < 4; k++){
                    for (int l = 0; l < 3; l++){
                        for (int m = 0; m < 4; m++){
                            for (int n = 0; n < 4; n++){
                                for (int o = 0; o < 3; o++){
                                    for (int p = 0; p < 4; p++){
                                        for (int q = 0; q < 4; q++) {
                                            for (int r = 0; r < 2; r++){
                                                for (int s = 0; s < 4; s++){
                                                    for (int t = 0; t < 4; t++){
                                                        for (int u = 0; u < 4; u++) {
                                                             prob = ((pesogabinete * retornaSimGabinete(gabinetesel,gabinete.get(i))) + (pesoprocessador *(retornaSimProc(processadorsel,processador.get(j)))) + (pesomemoria * (retornaSimMem(memoriasel,memoria.get(k)))) + (pesohd * (retornaSimHd(hdsel,hd.get(l)))) + (pesossd * (retornaSimSsd(ssdsel,ssd.get(m)))) + (pesogpu * (retornaSimGpu(gpusel,gpu.get(n)))) +  (pesoteclado * (retornaSimTeclado(tecladosel,teclado.get(o)))) + (pesomouse * (retornaSimMouse(mousesel,mouse.get(p)))) + (pesofonte * (retornaSimFonte(fontesel,fonte.get(q)))) + (pesorefrigeracao * (retornaSimRefrigeracao(refrigeracaosel,refrigeracao.get(r)))) + (pesomonitor * (retornaSimMonitor(monitorsel,monitor.get(s)))) + (pesoheadset * (retornaSimHeadset(headsetsel,headset.get(t)))) + (pesomotherboard * (retornaSimMotherboard(motherboardsel,motherboard.get(u))))) / (pesogabinete+pesoprocessador+pesomemoria+pesohd+pesossd+pesomouse+pesoteclado+pesogpu+pesofonte+pesorefrigeracao+pesomonitor+pesoheadset+pesomotherboard);
                                                             row.add(gabinete.get(i));
                                                             row.add(processador.get(j));
                                                             row.add(memoria.get(k));
                                                             row.add(hd.get(l));
                                                             row.add(ssd.get(m));
                                                             row.add(gpu.get(n));
                                                             row.add(teclado.get(o));
                                                             row.add(mouse.get(p));
                                                             row.add(fonte.get(q));
                                                             row.add(refrigeracao.get(r));
                                                             row.add(monitor.get(s));
                                                             row.add(headset.get(t));
                                                             row.add(motherboard.get(u));
                                                             row.add(Double.toString(prob));
                                                             model.addRow (row);
                                                             cont++;
                                                             System.out.println(cont);
                                                             row.clear();
                                                        }                                  
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }

                            }
                        }
                    }
                }
            }
        }
    }                                     


    public static void main(String args[]) {

        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Tela().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JList<String> jList1;
    private javax.swing.JList<String> jList10;
    private javax.swing.JList<String> jList11;
    private javax.swing.JList<String> jList12;
    private javax.swing.JList<String> jList13;
    private javax.swing.JList<String> jList2;
    private javax.swing.JList<String> jList3;
    private javax.swing.JList<String> jList4;
    private javax.swing.JList<String> jList5;
    private javax.swing.JList<String> jList6;
    private javax.swing.JList<String> jList7;
    private javax.swing.JList<String> jList8;
    private javax.swing.JList<String> jList9;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane10;
    private javax.swing.JScrollPane jScrollPane11;
    private javax.swing.JScrollPane jScrollPane12;
    private javax.swing.JScrollPane jScrollPane13;
    private javax.swing.JScrollPane jScrollPane14;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JScrollPane jScrollPane6;
    private javax.swing.JScrollPane jScrollPane7;
    private javax.swing.JScrollPane jScrollPane8;
    private javax.swing.JScrollPane jScrollPane9;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField10;
    private javax.swing.JTextField jTextField11;
    private javax.swing.JTextField jTextField12;
    private javax.swing.JTextField jTextField13;
    private javax.swing.JTextField jTextField2;
    private javax.swing.JTextField jTextField3;
    private javax.swing.JTextField jTextField4;
    private javax.swing.JTextField jTextField5;
    private javax.swing.JTextField jTextField6;
    private javax.swing.JTextField jTextField7;
    private javax.swing.JTextField jTextField8;
    private javax.swing.JTextField jTextField9;
    // End of variables declaration                   
}

显示的错误:

at javax.swing.JTable.getValueAt(9436654
JTable.java:2717)

at javax.swing.plaf.basic.BasicTableUI.paintCell(9436681
BasicTableUI.java:2114)

at javax.swing.JComponent.paint(9436742
JComponent.java:1056)

at java.awt.EventDispatchThread.pumpEvents(9436957
EventDispatchThread.java:93)

我相信问题出在row.clear(),因为如果我删除它,代码可以工作,但在表中总是显示相同的值。

【问题讨论】:

    标签: jtable


    【解决方案1】:

    事实上,我不确定这是否可能。但是你可以测试一下。试试这个(尝试自己写代码)

    1- 编写一个特定的函数,该函数具有从零到您感兴趣的大小(比如 9500000)的循环。在这个循环中,将字符串或迭代次数之类的内容写入预定义的输出文件(逐行)。

    2- 然后在另一个函数(比如填充表)中从该文件中逐行读取,并将读取的内容作为新行添加到表中。 如果可能,表格将被填满,如果没有,则会发生特定异常。

    .................................................. 试试这个

    在您的框架中添加一个完全在列且没有行的表格。

    for (int i=0;i

    {

    //这里向表中添加新行

    //如果发生错误,减小循环的大小。

    }

    【讨论】:

    • 我已经这样做了,我的问题是一个函数可以清除我将在每一行中放入的值的向量,我将更新 de post。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多