-1

我的组合框有一个奇怪的问题......(我使用 Netbeans 7.1 和 Java 代码)当我添加一个项目cbxUnidad.addItem("TODOS");需要 1300 毫秒才能添加它,所以当我打开该表单时(在执行时)它需要超过 4秒打开它。我知道那个特定的代码需要很长时间,因为我用它来知道这条线需要多少时间:

long empieza  = 0;
long duracion = 0;
empieza  = System.currentTimeMillis();
cbxUnidad.addItem("TODOS");
duracion = (System.currentTimeMillis() - empieza);
System.out.pr

intln("Adding the item TODOS last " + duracion + " ms");

所以以这种方式,当java执行那个句子时我得到1.3秒(1300毫秒)......这有点奇怪而且非常慢......所以我想知道是否有人知道为什么或如何改变句子。

在这里,我将 initCode 留给组合框:

cbxUnidad = new javax.swing.JComboBox();
cbxUnidad.setMaximumRowCount(25);
cbxUnidad.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
cbxUnidad.addItemListener(new java.awt.event.ItemListener() {
    public void itemStateChanged(java.awt.event.ItemEvent evt) {
        cbxUnidadItemStateChanged(evt);
        }
});

十分感谢 :)

4

1 回答 1

1

您可能正在执行一些其他操作,除非仅将一项添加到组合中不会花费太多时间(实际上添加一项需要 1.3 秒是没有意义的)。
我的建议是:

  • 创建另一个具有一个组合框的类。
  • 将项目添加到组合框并查看需要多少时间。

    long empieza  = 0;
    long duracion = 0;
    empieza  = System.currentTimeMillis();
    cbxUnidad.addItem("TODOS");
    duracion = (System.currentTimeMillis() - empieza);
    java.text.NumberFormat nf = new java.text.DecimalFormat("#0.00000");
    String totalTime = nf.format(totalTime/1000d);
    System.out.println("Adding the item TODOS last " + totalTime+ " seconds");
    
于 2013-05-29T17:04:23.677 回答