-
Bug
-
Resolution: Fixed
-
P3
-
1.2.0
-
1.2fcs
-
unknown, x86
-
solaris_2.4, windows_95
-
Not verified
The following navigation, activation and selection keyboard bindings on The following navigation, activation and selection keyboard bindings on JSplitPane need to be implemented for proper operation and key binding sequences. This needs to be done on all L&Fs (Metal, Windows and Motif).
JSplitPane:
Navigate in - Tab
Navigate out - Ctrl+Tab, Ctrl+Shift+Tab
Navigate between - Tab, F6 (last element with focus regains
focus when its pane is moved to,
F6 provides CUA compliance)
Give focus splitter bar - F8
Change size - Arrow keys, home, and end
(moves the pane splitter appropriately)
Usability:
- A JSplitPane is considered to have focus as soon as one of its child components has the focus.
- F8 while the JSplitPane (one of its child components is in focus) has the focus gives the divider (splitter, split bar) the focus and allows to move it around with the cursor keys. This resize mode is ended by either another (F8 | Tab) where the focus goes to the next component in the JSplitPane, or by (Ctrl+Tab | Ctrl+Shift+Tab) where the focus goes to the next component outside of the JSplitPane.
ralph.kar@Eng 1998-07-27
Here is a test case that can be used to verify the keyboard navigation support in a JSplitPane:
import com.sun.java.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TestApp extends JFrame
{
public TestApp() {
super("TestApp (4110480)");
String[] listdata = {"JList 1", "JList 2", "JList 3",
"JList 4", "JList 5", "JList 6"};
JList list = new JList(listdata);
JSplitPane split1 = new JSplitPane(JSplitPane.VERTICAL_SPLIT,
true,
new JScrollPane(new JTextArea("Upper\nJTextArea")),
new JScrollPane(new JTextArea("Lower\nJTextArea")));
JSplitPane split2 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
true, new JScrollPane(list), split1);
JPanel panel = new JPanel(new GridLayout(1, 2));
panel.add(new JButton("JButton 1"));
panel.add(new JButton("JButton 2"));
this.getContentPane().add("Center", split2);
this.getContentPane().add("South", panel);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent ev) {
System.exit(0);
}
});
this.setSize(300, 300);
this.setVisible(true);
}
static public void main(String args[]) {
new TestApp();
}
}
JSplitPane:
Navigate in - Tab
Navigate out - Ctrl+Tab, Ctrl+Shift+Tab
Navigate between - Tab, F6 (last element with focus regains
focus when its pane is moved to,
F6 provides CUA compliance)
Give focus splitter bar - F8
Change size - Arrow keys, home, and end
(moves the pane splitter appropriately)
Usability:
- A JSplitPane is considered to have focus as soon as one of its child components has the focus.
- F8 while the JSplitPane (one of its child components is in focus) has the focus gives the divider (splitter, split bar) the focus and allows to move it around with the cursor keys. This resize mode is ended by either another (F8 | Tab) where the focus goes to the next component in the JSplitPane, or by (Ctrl+Tab | Ctrl+Shift+Tab) where the focus goes to the next component outside of the JSplitPane.
ralph.kar@Eng 1998-07-27
Here is a test case that can be used to verify the keyboard navigation support in a JSplitPane:
import com.sun.java.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TestApp extends JFrame
{
public TestApp() {
super("TestApp (4110480)");
String[] listdata = {"JList 1", "JList 2", "JList 3",
"JList 4", "JList 5", "JList 6"};
JList list = new JList(listdata);
JSplitPane split1 = new JSplitPane(JSplitPane.VERTICAL_SPLIT,
true,
new JScrollPane(new JTextArea("Upper\nJTextArea")),
new JScrollPane(new JTextArea("Lower\nJTextArea")));
JSplitPane split2 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
true, new JScrollPane(list), split1);
JPanel panel = new JPanel(new GridLayout(1, 2));
panel.add(new JButton("JButton 1"));
panel.add(new JButton("JButton 2"));
this.getContentPane().add("Center", split2);
this.getContentPane().add("South", panel);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent ev) {
System.exit(0);
}
});
this.setSize(300, 300);
this.setVisible(true);
}
static public void main(String args[]) {
new TestApp();
}
}
- duplicates
-
JDK-4108473 Proper keyboard navigation must be implemented on JSplitPane for the Windows L&F
-
- Closed
-
-
JDK-4108477 Proper keyboard navigation must be implemented on JSplitPane for the Motif L&F
-
- Closed
-
- relates to
-
JDK-4164779 JSplitPane keyboard navigation does not support F6 and Ctrl+Tab
-
- Closed
-