import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.iron.a11y.keys.*;
public class AccessibleApp extends JFrame {
private JButton button1;
private JButton button2;
public AccessibleApp() {
button1 = new JButton("Button 1");
button2 = new JButton("Button 2");
registerArrowKeysBehavior(button1, button2);
add(button1);
add(button2);
setLayout(new FlowLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
private void registerArrowKeysBehavior(Component component, Component nextComponent) {
component.addKeyListener(new ArrowKeysBehavior(nextComponent));
}
private class ArrowKeysBehavior implements ArrowKeyListener {
private Component nextComponent;
public ArrowKeysBehavior(Component nextComponent) {
this.nextComponent = nextComponent;
}
@Override
public void onArrowKeyDown(ArrowKeyEvent event) {
int keyCode = event.getKeyCode();
nextComponent.requestFocus();
nextComponent.requestFocus();
}
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
new AccessibleApp();
});
}
}