0

当我使用 jre 1.7 在 netbeans 7.1 中编译以下代码时,会发生以下异常。(JRE v 7.0.20.13)异常被抛出代码的突出显示部分。之前我多次使用相同的代码并且代码对我来说完全正确,但现在突然发生异常。

编辑:堆栈跟踪:

 JewelleryERPApplication/build/classes/java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.TimSort.mergeHi(TimSort.java:868)
at java.util.TimSort.mergeAt(TimSort.java:485)
at java.util.TimSort.mergeForceCollapse(TimSort.java:426)
at java.util.TimSort.sort(TimSort.java:223)
at java.util.TimSort.sort(TimSort.java:173)
at java.util.Arrays.sort(Arrays.java:659)
at java.util.Collections.sort(Collections.java:217)
at javax.swing.SortingFocusTraversalPolicy.enumerateAndSortCycle(SortingFocusTraversalPolicy.java:136)
at javax.swing.SortingFocusTraversalPolicy.getFocusTraversalCycle(SortingFocusTraversalPolicy.java:110)
at javax.swing.SortingFocusTraversalPolicy.getComponentAfter(SortingFocusTraversalPolicy.java:280)
at javax.swing.LayoutFocusTraversalPolicy.getComponentAfter(LayoutFocusTraversalPolicy.java:106)
at java.awt.Component.getNextFocusCandidate(Component.java:7860)
at java.awt.Component.transferFocus(Component.java:7828)
at java.awt.Component.disable(Component.java:1517)
at javax.swing.JComponent.disable(JComponent.java:3635)
at java.awt.Component.enable(Component.java:1495)
at java.awt.Component.setEnabled(Component.java:1458)
at javax.swing.JComponent.setEnabled(JComponent.java:2677)
at javax.swing.AbstractButton.setEnabled(AbstractButton.java:2087)
at jewelleryerpapplication.GUI.Stone.EmpTrans.compEnableDisable(EmpTrans.java:215)
at jewelleryerpapplication.GUI.Stone.EmpTrans.btnEditActionPerformed(EmpTrans.java:2513)

// 发生异常的源代码

 switch (mode) {
        case "N"://New
            btnSave.setEnabled(!enable);

            btnNew.setEnabled(enable);
            **btnEdit.setEnabled(enable);**
            btnSearch.setEnabled(enable);
            btnPrint.setEnabled(enable);
            txtVchNo.setEditable(enable);
            btnExecute.setVisible(enable);
            cbDateChk.setVisible(enable);
            cbDateChk.setSelected(enable);

            isNew = true;
            isEdit = false;
            break;
         case "E":
            btnSave.setEnabled(!enable);

            btnNew.setEnabled(enable);
            **btnEdit.setEnabled(enable);**
            btnSearch.setEnabled(enable);
            btnPrint.setEnabled(enable);
            txtVchNo.setEditable(enable);
            btnExecute.setVisible(enable);
            cbDateChk.setVisible(enable);
            cbDateChk.setSelected(enable);

            isNew = false;
            isEdit = true;
            break;
          }
4

0 回答 0