Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to run Java GUI programs with Ubuntu

I am learning GUI in Java, and for that I have created a demo program:

import java.awt.*;  public class FrameDemo extends Frame {      public FrameDemo(){         super("Frame Demo");         setSize(200, 200);         setVisible(true);     }      public static void main(String args[]){         new FrameDemo();         } } 

It was compiled successfully. But when I tried to execute the program, I found the following error:

Exception in thread "main" java.awt.HeadlessException     at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:173)     at java.awt.Window.<init>(Window.java:437)     at java.awt.Frame.<init>(Frame.java:419)     at FrameDemo.<init>(FrameDemo.java:4)     at FrameDemo.main(FrameDemo.java:9) 

I am using Xubuntu 10.10 and java -version gives:

java version "1.6.0_20" OpenJDK Runtime Environment (IcedTea6 1.9.5) (6b20-1.9.5-0ubuntu1) OpenJDK Client VM (build 19.0-b09, mixed mode, sharing) 

What should I to do?

One more thing: It is the same sort of error I got when I tried to execute Dr. Java and HJSplit's jar file.

like image 721
codeomnitrix Avatar asked Mar 19 '11 13:03

codeomnitrix


People also ask

Can I run Java on Ubuntu?

The Java Runtime Environment (JRE) is required to run Java programs. Nowadays there are many JRE packages available from a variety of projects and companies, but the two most popular on Ubuntu are OpenJDK and Oracle HotSpot.

Is there a GUI for Java?

In Java applications, the components that comprise a GUI (Graphical User Interface) are stored in containers called forms. The Java language provides a set of user interface components from which GUI forms can be built.


2 Answers

Ubuntu has the option to install a headless Java -- this means without graphics libraries. This wasn't always the case, but I encountered this while trying to run a Java text editor on 10.10 the other day. Run the following command to install a JDK that has these libraries:

sudo apt-get install openjdk-6-jdk 

EDIT: Actually, looking at my config, you might need the JRE. If that's the case, run:

sudo apt-get install openjdk-6-jre 
like image 149
Kaleb Brasee Avatar answered Oct 07 '22 16:10

Kaleb Brasee


I stopped getting this exception when I installed default-jdk using apt. I'm running Ubuntu 14.04 (Trusty Tahr), and the problem appears to have been the result of having a "headless" Java installed. All I did was:

sudo apt-get install default-jdk 
like image 35
wachr Avatar answered Oct 07 '22 16:10

wachr