MainClass.java Source code

Java tutorial

Introduction

Here is the source code for MainClass.java

Source

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