accessibilitydemo11.java

来自「java 完全探索的随书源码」· Java 代码 · 共 88 行

JAVA
88
字号
// AccessibilityDemo11.java

import javax.accessibility.*;

import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

class AccessibilityDemo11 extends JFrame
{
   JLabel jl;

   AccessibilityDemo11 (String title)
   {
      super (title);

      addWindowListener (new WindowAdapter ()
                         {
                             public void windowClosing (WindowEvent e)
                             {
                                System.exit (0);
                             }
                         });

      JPanel p = new JPanel ();
      p.setPreferredSize (new Dimension (300, 50));
      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)
   {
      AccessibilityDemo11 ad11;
      ad11 = new AccessibilityDemo11 ("Accessibility Demo11");

      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 ());
   }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?