Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8283493

Create an automated regression test for RFE 4231298

XMLWordPrintable

    • b16
    • generic
    • generic

        Create a regression test for JDK-4231298
        Issue:
        When a JComboBox first drops down, the renderer is called for
        every element in the list, even those elements that will not
        actually be drawn on the screen.

        Fix:
        Introduced new API to JComboBox: get/setPrototypeDisplayValue(). This API allows the UI to calculate the display size using this prototype value rather than iterated over a large list of items. See RFE 4289100 which also addresses this problem.

        Testing:
        1. Tested in Mach5, 10 times per platform(macos,linux and windows) and got all pass.

        2. Tested in JDK 1.3.0 and JDK 1.4.0 and the results are given below.
        Java 1.3.0 -> Test Failed.
        $ jdk1.3/bin/java JComboBoxPrototypeTest
        getListCellRendererComponent index = -1, isSelected = false, cellHasFocus = false
        Value of the Counter is 1
        ....
        getListCellRendererComponent index = -1, isSelected = false, cellHasFocus = false
        Value of the Counter is 101
        Test Failed
        java.lang.RuntimeException: Custom Renderer got called 101 times, expected is maximum 6 times
                at JComboBoxPrototypeTestOld.main(JComboBoxPrototypeTest.java:107)

        Java 1.4.0(added a call to setPrototypeDisplayValue()) -> Test Passed.
        $ j2sdk1.4.0/bin/java JComboBoxPrototypeTest
        getListCellRendererComponent index = -1, isSelected = false, cellHasFocus = false
        Value of the Counter is 1
        getListCellRendererComponent index = -1, isSelected = false, cellHasFocus = false
        Value of the Counter is 2
        getListCellRendererComponent index = -1, isSelected = false, cellHasFocus = false
        Value of the Counter is 3
        Test Passed

              mvs Manukumar V S
              mvs Manukumar V S
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: