Java by API/javax.accessibility/AccessibleContext
Содержание
- 1 AccessibleAction: getAccessibleActionCount()
- 2 AccessibleContext: getAccessibleAction()
- 3 AccessibleContext: getAccessibleChildrenCount()
- 4 AccessibleContext: getAccessibleDescription()
- 5 AccessibleContext: getAccessibleName()
- 6 AccessibleContext: getAccessibleRelationSet()
- 7 AccessibleContext: getAccessibleSelection()
- 8 AccessibleContext: getAccessibleTable()
- 9 AccessibleContext: getAccessibleText()
- 10 AccessibleContext: getAccessibleValue()
- 11 AccessibleContext: setAccessibleDescription(String s)
- 12 AccessibleContext: setAccessibleName(String s)
AccessibleAction: getAccessibleActionCount()
<source lang="java">
import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.accessibility.AccessibleAction; import javax.accessibility.AccessibleContext; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JToolBar; public class MainClass extends JFrame {
MainClass(String title) { super(title); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JToolBar toolBar = new JToolBar(); Action a = new AbstractAction("Demo") { public void actionPerformed(ActionEvent e) { System.out.println("Action taken."); } }; JButton b = toolBar.add(a); b.setText("Demo Button"); b.setToolTipText("Press me to take action."); JMenu mainMenu = new JMenu("Menu"); JMenuItem mi = mainMenu.add(a); mi.getAccessibleContext().setAccessibleName("Menu item"); JMenuBar mb = new JMenuBar(); mb.add(mainMenu); setJMenuBar(mb); JPanel pane = new JPanel(); pane.setLayout(new BorderLayout()); pane.setPreferredSize(new Dimension(200, 100)); pane.add(toolBar, BorderLayout.NORTH); setContentPane(pane); pack(); setVisible(true); } public static void main(String[] args) { MainClass ad2; ad2 = new MainClass("Accessibility Demo2"); ad2.dumpActionInfo(ad2.getAccessibleContext()); } void dumpActionInfo(AccessibleContext ac) { AccessibleAction aa = ac.getAccessibleAction(); if (aa != null) { String s = ac.getAccessibleName(); System.out.println(s); int count = aa.getAccessibleActionCount(); for (int i = 0; i < count; i++) { s = aa.getAccessibleActionDescription(i); System.out.println("Description = " + s); } } int nChildren = ac.getAccessibleChildrenCount(); for (int i = 0; i < nChildren; i++) dumpActionInfo(ac.getAccessibleChild(i).getAccessibleContext()); }
}
</source>
AccessibleContext: getAccessibleAction()
<source lang="java">
import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.accessibility.AccessibleAction; import javax.accessibility.AccessibleContext; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JToolBar; public class MainClass extends JFrame {
MainClass(String title) { super(title); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JToolBar toolBar = new JToolBar(); Action a = new AbstractAction("Demo") { public void actionPerformed(ActionEvent e) { System.out.println("Action taken."); } }; JButton b = toolBar.add(a); b.setText("Demo Button"); b.setToolTipText("Press me to take action."); JMenu mainMenu = new JMenu("Menu"); JMenuItem mi = mainMenu.add(a); mi.getAccessibleContext().setAccessibleName("Menu item"); JMenuBar mb = new JMenuBar(); mb.add(mainMenu); setJMenuBar(mb); JPanel pane = new JPanel(); pane.setLayout(new BorderLayout()); pane.setPreferredSize(new Dimension(200, 100)); pane.add(toolBar, BorderLayout.NORTH); setContentPane(pane); pack(); setVisible(true); } public static void main(String[] args) { MainClass ad2; ad2 = new MainClass("Accessibility Demo2"); ad2.dumpActionInfo(ad2.getAccessibleContext()); } void dumpActionInfo(AccessibleContext ac) { AccessibleAction aa = ac.getAccessibleAction(); if (aa != null) { String s = ac.getAccessibleName(); System.out.println(s); int count = aa.getAccessibleActionCount(); for (int i = 0; i < count; i++) { s = aa.getAccessibleActionDescription(i); System.out.println("Description = " + s); } } int nChildren = ac.getAccessibleChildrenCount(); for (int i = 0; i < nChildren; i++) dumpActionInfo(ac.getAccessibleChild(i).getAccessibleContext()); }
}
</source>
AccessibleContext: getAccessibleChildrenCount()
<source lang="java">
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.accessibility.AccessibleContext; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class MainClass extends JFrame implements ActionListener {
JButton jb; MainClass(String title) { super(title); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); AccessibleContext ac = getAccessibleContext(); ac.setAccessibleDescription("Accessibility Demo1 description."); ac = getRootPane().getAccessibleContext(); ac.setAccessibleName("Root pane"); ac.setAccessibleDescription("Root pane description"); ac = getGlassPane().getAccessibleContext(); ac.setAccessibleName("Glass pane"); ac.setAccessibleDescription("Glass pane description"); ac = getLayeredPane().getAccessibleContext(); ac.setAccessibleName("Layered pane"); ac.setAccessibleDescription("Layered pane description"); ac = getContentPane().getAccessibleContext(); ac.setAccessibleName("Content pane"); ac.setAccessibleDescription("Content pane description"); JPanel p = new JPanel(); ac = p.getAccessibleContext(); ac.setAccessibleName("Panel"); ac.setAccessibleDescription("Panel description"); jb = new JButton("Press Me"); jb.addActionListener(this); jb.setToolTipText("Press me for accessibility information."); p.add(jb); getContentPane().add(p); setSize(200, 75); setVisible(true); } public void actionPerformed(ActionEvent e) { dumpInfo(getAccessibleContext()); } void dumpInfo(AccessibleContext ac) { System.out.println("Name = " + ac.getAccessibleName()); System.out.println("Description = " + ac.getAccessibleDescription()); int nChildren = ac.getAccessibleChildrenCount(); for (int i = 0; i < nChildren; i++) dumpInfo(ac.getAccessibleChild(i).getAccessibleContext()); } public static void main(String[] args) { new MainClass("Accessibility Demo1"); }
}
</source>
AccessibleContext: getAccessibleDescription()
<source lang="java">
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.accessibility.AccessibleContext; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class MainClass extends JFrame implements ActionListener {
JButton jb; MainClass(String title) { super(title); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); AccessibleContext ac = getAccessibleContext(); ac.setAccessibleDescription("Accessibility Demo1 description."); ac = getRootPane().getAccessibleContext(); ac.setAccessibleName("Root pane"); ac.setAccessibleDescription("Root pane description"); ac = getGlassPane().getAccessibleContext(); ac.setAccessibleName("Glass pane"); ac.setAccessibleDescription("Glass pane description"); ac = getLayeredPane().getAccessibleContext(); ac.setAccessibleName("Layered pane"); ac.setAccessibleDescription("Layered pane description"); ac = getContentPane().getAccessibleContext(); ac.setAccessibleName("Content pane"); ac.setAccessibleDescription("Content pane description"); JPanel p = new JPanel(); ac = p.getAccessibleContext(); ac.setAccessibleName("Panel"); ac.setAccessibleDescription("Panel description"); jb = new JButton("Press Me"); jb.addActionListener(this); jb.setToolTipText("Press me for accessibility information."); p.add(jb); getContentPane().add(p); setSize(200, 75); setVisible(true); } public void actionPerformed(ActionEvent e) { dumpInfo(getAccessibleContext()); } void dumpInfo(AccessibleContext ac) { System.out.println("Name = " + ac.getAccessibleName()); System.out.println("Description = " + ac.getAccessibleDescription()); int nChildren = ac.getAccessibleChildrenCount(); for (int i = 0; i < nChildren; i++) dumpInfo(ac.getAccessibleChild(i).getAccessibleContext()); } public static void main(String[] args) { new MainClass("Accessibility Demo1"); }
}
</source>
AccessibleContext: getAccessibleName()
<source lang="java">
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.accessibility.AccessibleContext; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class MainClass extends JFrame implements ActionListener {
JButton jb; MainClass(String title) { super(title); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); AccessibleContext ac = getAccessibleContext(); ac.setAccessibleDescription("Accessibility Demo1 description."); ac = getRootPane().getAccessibleContext(); ac.setAccessibleName("Root pane"); ac.setAccessibleDescription("Root pane description"); ac = getGlassPane().getAccessibleContext(); ac.setAccessibleName("Glass pane"); ac.setAccessibleDescription("Glass pane description"); ac = getLayeredPane().getAccessibleContext(); ac.setAccessibleName("Layered pane"); ac.setAccessibleDescription("Layered pane description"); ac = getContentPane().getAccessibleContext(); ac.setAccessibleName("Content pane"); ac.setAccessibleDescription("Content pane description"); JPanel p = new JPanel(); ac = p.getAccessibleContext(); ac.setAccessibleName("Panel"); ac.setAccessibleDescription("Panel description"); jb = new JButton("Press Me"); jb.addActionListener(this); jb.setToolTipText("Press me for accessibility information."); p.add(jb); getContentPane().add(p); setSize(200, 75); setVisible(true); } public void actionPerformed(ActionEvent e) { dumpInfo(getAccessibleContext()); } void dumpInfo(AccessibleContext ac) { System.out.println("Name = " + ac.getAccessibleName()); System.out.println("Description = " + ac.getAccessibleDescription()); int nChildren = ac.getAccessibleChildrenCount(); for (int i = 0; i < nChildren; i++) dumpInfo(ac.getAccessibleChild(i).getAccessibleContext()); } public static void main(String[] args) { new MainClass("Accessibility Demo1"); }
}
</source>
AccessibleContext: getAccessibleRelationSet()
<source lang="java">
import java.awt.Dimension; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRelation; import javax.accessibility.AccessibleRelationSet; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class MainClass extends JFrame {
MainClass() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); p.setPreferredSize(new Dimension(300, 50)); JLabel jl = new JLabel("Name:"); p.add(jl); JTextField jtf = new JTextField(20); jtf.getAccessibleContext().setAccessibleName("Name-entry"); p.add(jtf); AccessibleRelation ar = new AccessibleRelation("connector", jtf); AccessibleContext ac = jl.getAccessibleContext(); ac.getAccessibleRelationSet().add(ar); getContentPane().add(p); pack(); setVisible(true); } public static void main(String[] args) { MainClass ad11 = new MainClass(); try { Thread.sleep(5000); } catch (InterruptedException e) { } ad11.dumpConnectedInfo(ad11.getAccessibleContext()); } void dumpConnectedInfo(AccessibleContext ac) { AccessibleRelationSet ars = ac.getAccessibleRelationSet(); AccessibleRelation ar = null; if (ars != null) ar = ars.get("connector"); if (ar != null) { Object[] o = ar.getTarget(); JComponent jc = (JComponent) o[0]; System.out.println("Label connected to: " + jc.getAccessibleContext().getAccessibleName()); return; } int nChildren = ac.getAccessibleChildrenCount(); for (int i = 0; i < nChildren; i++) dumpConnectedInfo(ac.getAccessibleChild(i).getAccessibleContext()); }
}
</source>
AccessibleContext: getAccessibleSelection()
<source lang="java">
import java.awt.Dimension; import java.util.Vector; import javax.accessibility.Accessible; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleSelection; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JScrollPane; public class MainClass extends JFrame {
MainClass() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Vector v = new Vector(); v.add("First item"); v.add("Second item"); v.add("Third item"); v.add("Fourth item"); JPanel p = new JPanel(); p.setPreferredSize(new Dimension(200, 100)); JList jl = new JList(v); jl.setPreferredSize(new Dimension(100, 75)); p.add(new JScrollPane(jl)); getContentPane().add(p); pack(); setVisible(true); } public static void main(String[] args) { MainClass ad6 = new MainClass(); try { Thread.sleep(1000); } catch (InterruptedException e) { } ad6.dumpSelectionInfo(ad6.getAccessibleContext()); } void dumpSelectionInfo(AccessibleContext ac) { AccessibleSelection as = ac.getAccessibleSelection(); if (as != null) { int count = as.getAccessibleSelectionCount(); for (int i = 0; i < count; i++) { Accessible a = as.getAccessibleSelection(i); AccessibleContext ac2 = a.getAccessibleContext(); String s = ac2.getAccessibleName(); System.out.println("Name = " + s); } return; } int nChildren = ac.getAccessibleChildrenCount(); for (int i = 0; i < nChildren; i++) dumpSelectionInfo(ac.getAccessibleChild(i).getAccessibleContext()); }
}
</source>
AccessibleContext: getAccessibleTable()
<source lang="java">
import java.awt.Dimension; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleTable; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; public class MainClass extends JFrame {
MainClass() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); p.setPreferredSize(new Dimension(200, 200)); JTable jt = new JTable(10, 3); p.add(new JScrollPane(jt)); getContentPane().add(p); pack(); setVisible(true); } public static void main(String[] args) { MainClass ad7 = new MainClass(); try { Thread.sleep(5000); } catch (InterruptedException e) { } ad7.dumpTableInfo(ad7.getAccessibleContext()); } void dumpTableInfo(AccessibleContext ac) { AccessibleTable at = ac.getAccessibleTable(); if (at != null) { int nCol = at.getAccessibleColumnCount(); System.out.println("Columns = " + nCol); int nRow = at.getAccessibleRowCount(); System.out.println("Rows = " + nRow); return; } int nChildren = ac.getAccessibleChildrenCount(); for (int i = 0; i < nChildren; i++) dumpTableInfo(ac.getAccessibleChild(i).getAccessibleContext()); }
}
</source>
AccessibleContext: getAccessibleText()
<source lang="java">
import java.awt.Dimension; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleText; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class MainClass extends JFrame {
MainClass() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); p.setPreferredSize(new Dimension(300, 50)); JTextField jtf = new JTextField(20); jtf.setPreferredSize(new Dimension(100, 20)); p.add(jtf); getContentPane().add(p); pack(); setVisible(true); } public static void main(String[] args) { MainClass ad8 = new MainClass(); try { Thread.sleep(5000); } catch (InterruptedException e) { } ad8.dumpTextInfo(ad8.getAccessibleContext()); } void dumpTextInfo(AccessibleContext ac) { AccessibleText at = ac.getAccessibleText(); if (at != null) { System.out.println("Caret position = " + at.getCaretPosition()); System.out.println("Selected text = " + at.getSelectedText()); return; } int nChildren = ac.getAccessibleChildrenCount(); for (int i = 0; i < nChildren; i++) dumpTextInfo(ac.getAccessibleChild(i).getAccessibleContext()); }
}
</source>
AccessibleContext: getAccessibleValue()
<source lang="java">
import java.awt.Adjustable; import java.awt.Dimension; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleValue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollBar; public class MainClass extends JFrame {
MainClass() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel p = new JPanel(); p.setPreferredSize(new Dimension(300, 50)); JScrollBar jsb; jsb = new JScrollBar(Adjustable.HORIZONTAL, 0, 1, 0, 100); jsb.setPreferredSize(new Dimension(200, 20)); p.add(jsb); getContentPane().add(p); pack(); setVisible(true); } public static void main(String[] args) { MainClass ad9 = new MainClass(); try { Thread.sleep(5000); } catch (InterruptedException e) { } ad9.dumpValueInfo(ad9.getAccessibleContext()); } void dumpValueInfo(AccessibleContext ac) { AccessibleValue av = ac.getAccessibleValue(); if (av != null) { System.out.println("Minimum value = " + av.getMinimumAccessibleValue()); System.out.println("Current value = " + av.getCurrentAccessibleValue()); System.out.println("Maximum value = " + av.getMaximumAccessibleValue()); return; } int nChildren = ac.getAccessibleChildrenCount(); for (int i = 0; i < nChildren; i++) dumpValueInfo(ac.getAccessibleChild(i).getAccessibleContext()); }
}
</source>
AccessibleContext: setAccessibleDescription(String s)
<source lang="java">
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.accessibility.AccessibleContext; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class MainClass extends JFrame implements ActionListener {
JButton jb; MainClass(String title) { super(title); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); AccessibleContext ac = getAccessibleContext(); ac.setAccessibleDescription("Accessibility Demo1 description."); ac = getRootPane().getAccessibleContext(); ac.setAccessibleName("Root pane"); ac.setAccessibleDescription("Root pane description"); ac = getGlassPane().getAccessibleContext(); ac.setAccessibleName("Glass pane"); ac.setAccessibleDescription("Glass pane description"); ac = getLayeredPane().getAccessibleContext(); ac.setAccessibleName("Layered pane"); ac.setAccessibleDescription("Layered pane description"); ac = getContentPane().getAccessibleContext(); ac.setAccessibleName("Content pane"); ac.setAccessibleDescription("Content pane description"); JPanel p = new JPanel(); ac = p.getAccessibleContext(); ac.setAccessibleName("Panel"); ac.setAccessibleDescription("Panel description"); jb = new JButton("Press Me"); jb.addActionListener(this); jb.setToolTipText("Press me for accessibility information."); p.add(jb); getContentPane().add(p); setSize(200, 75); setVisible(true); } public void actionPerformed(ActionEvent e) { dumpInfo(getAccessibleContext()); } void dumpInfo(AccessibleContext ac) { System.out.println("Name = " + ac.getAccessibleName()); System.out.println("Description = " + ac.getAccessibleDescription()); int nChildren = ac.getAccessibleChildrenCount(); for (int i = 0; i < nChildren; i++) dumpInfo(ac.getAccessibleChild(i).getAccessibleContext()); } public static void main(String[] args) { new MainClass("Accessibility Demo1"); }
}
</source>
AccessibleContext: setAccessibleName(String s)
<source lang="java">
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.accessibility.AccessibleContext; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class MainClass extends JFrame implements ActionListener {
JButton jb; MainClass(String title) { super(title); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); AccessibleContext ac = getAccessibleContext(); ac.setAccessibleDescription("Accessibility Demo1 description."); ac = getRootPane().getAccessibleContext(); ac.setAccessibleName("Root pane"); ac.setAccessibleDescription("Root pane description"); ac = getGlassPane().getAccessibleContext(); ac.setAccessibleName("Glass pane"); ac.setAccessibleDescription("Glass pane description"); ac = getLayeredPane().getAccessibleContext(); ac.setAccessibleName("Layered pane"); ac.setAccessibleDescription("Layered pane description"); ac = getContentPane().getAccessibleContext(); ac.setAccessibleName("Content pane"); ac.setAccessibleDescription("Content pane description"); JPanel p = new JPanel(); ac = p.getAccessibleContext(); ac.setAccessibleName("Panel"); ac.setAccessibleDescription("Panel description"); jb = new JButton("Press Me"); jb.addActionListener(this); jb.setToolTipText("Press me for accessibility information."); p.add(jb); getContentPane().add(p); setSize(200, 75); setVisible(true); } public void actionPerformed(ActionEvent e) { dumpInfo(getAccessibleContext()); } void dumpInfo(AccessibleContext ac) { System.out.println("Name = " + ac.getAccessibleName()); System.out.println("Description = " + ac.getAccessibleDescription()); int nChildren = ac.getAccessibleChildrenCount(); for (int i = 0; i < nChildren; i++) dumpInfo(ac.getAccessibleChild(i).getAccessibleContext()); } public static void main(String[] args) { new MainClass("Accessibility Demo1"); }
}
</source>