Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Exception in thread "main" java.awt.AWTError: Assistive Technology not found

Tags:

java

exception

How to solve this error?

Exception in thread "main" java.awt.AWTError: Assistive Technology not found:
 com.sun.java.accessibility.AccessBridge
    at java.awt.Toolkit.loadAssistiveTechnologies(Toolkit.java:775)
    at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:861)
    at java.awt.Window.getToolkit(Window.java:1127)
    at java.awt.Window.init(Window.java:369)
    at java.awt.Window.(Window.java:407)
    at java.awt.Frame.(Frame.java:402)
    at java.awt.Frame.(Frame.java:367)
    at javax.swing.JFrame.(JFrame.java:163)
    at FirstJavaProject.(FirstJavaProject.java:7)
    at FirstJavaProject.main(FirstJavaProject.java:5)

It occurs during the execution of following program:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class TenButtons extends JFrame{

    JButton [] btns= new JButton[10];

    public static void main(String args[]){
        new TenButtons();
    }
    public TenButtons(){
        this.setSize(500,500);
        this.setTitle("10 Buttons");
        this.setLayout(new GridLayout(5,2));
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        for(int i=0; i<btns.length; i++){
           btns[i]=new JButton("Button ");
           this.add(btns[i]);
        }
        this.setVisible(true);
    }
}

My JDK_HOME/jre/lib/accessibility.properties file has the following content:

## Load the Java Access Bridge class into the JVM ##
assistive_technologies=com.sun.java.accessibility.AccessBridge
#screen_magnifier_present=true
like image 479
Gorakh_sth Avatar asked Mar 07 '13 00:03

Gorakh_sth


2 Answers

For future reference, one of the more common causes of this exception is a missing or corrupt installation of a Java Access Bridge. In this case, the following access bridge has been defined in standard configuration file (JDK_HOME/jre/lib/accessibility.properties):

com.sun.java.accessibility.AccessBridge

But it won't actually be operative unless the required installation is complete. Note that the standard access bridge implementation does not come packages with the SDK. To fix your particular issue, download and install the Oracle Access Bridge by following instructions from their setup page. That should resolve the startup error occurring in your program.

like image 82
Perception Avatar answered Nov 11 '22 16:11

Perception


Answer for those who:

  • Are using Windows WSL2
  • And have installed OpenJDK 8
  • Have tried to start the Gremlin Console or likewise Java app

And received the same error of Assistive technology not found AWTError the previous approved answers are correct.

For WSL2 and OpenJDK 8 specifically here is what you need to do:

sudo vim /etc/java-8-openjdk/accessibility.properties

Comment out the configuration line out like below:

#assistive_technologies=org.GNOME.Accessibility.AtkWrapper

There is no need to restart WSL session. Simply re-launch the Java app.

like image 35
Manabu Tokunaga Avatar answered Nov 11 '22 17:11

Manabu Tokunaga