-
Bug
-
Resolution: Duplicate
-
P3
-
None
-
1.4.0
-
None
-
sparc
-
solaris_2.6
Name: asR10047 Date: 08/16/2001
Since JDK-Merlin build b75 LayoutFocusTraversalPolicy.accept()
does not take into an account whether InputMap is null, empty or
non-empty. It seems this is an effect of fix for 4482235.
Here is the example demonstrating the bug:
------------------ -----------------
import java.awt.*;
import javax.swing.*;
public class LayoutFocusTraversalPolicyTest {
public static void main(String[] argv) {
TestPolicy policy = new TestPolicy();
Component comp = new TestComponent(true, true, true, true, 0);
System.out.println(" InputMap is null " + policy.accept( comp));
comp = new TestComponent(true, true, true, true, 1);
System.out.println(" InputMap is empty " + policy.accept( comp));
comp = new TestComponent(true, true, true, true, 2);
System.out.println(" InputMap is not empty " + policy.accept( comp));
System.exit(0);
}
}
class TestPolicy extends LayoutFocusTraversalPolicy {
public boolean accept(Component aComponent) {
return super.accept(aComponent);
}
}
class TestComponent extends JComponent {
private boolean isDispl;
TestComponent(boolean displ, boolean vis, boolean en, boolean foc,
int inpMap) {
super();
isDispl = displ;
setVisible(vis);
if (en) {
enable();
} else {
disable();
}
setFocusable(foc);
switch (inpMap) {
case 0: // InputMap is null
setInputMap(WHEN_FOCUSED, (InputMap)null);
break;
case 1: // empty InputMap
setInputMap(WHEN_FOCUSED, new InputMap());
break;
case 2:
InputMap map = new InputMap();
map.put(KeyStroke.getKeyStroke('a'), "a");
setInputMap(WHEN_FOCUSED, map);
break;
}
}
TestComponent(boolean displ, boolean vis, boolean en, boolean foc) {
this(displ, vis, en, foc, 2);
}
public boolean isDisplayable() {
return isDispl;
}
}
-------------- Output from the test -----------------
/set/jdk-builds/JDK1.4.0beta-b72/solaris/bin/java LayoutFocusTraversalPolicyTest
InputMap is null false
InputMap is empty false
InputMap is not empty true
/set/jdk-builds/JDK1.4.0beta-b75/solaris/bin/java LayoutFocusTraversalPolicyTest
InputMap is null true
InputMap is empty true
InputMap is not empty true
------------------------------------------------------
======================================================================
- duplicates
-
JDK-4492285 Javadoc for LayoutFocusTraversalPolicy.accept no longer valid
-
- Closed
-