Win a copy of Succeeding with AI this week in the Artificial Intelligence and Machine Learning forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Liutauras Vilda
  • Junilu Lacar
Sheriffs:
  • Tim Cooke
  • Jeanne Boyarsky
  • Knute Snortum
Saloon Keepers:
  • Stephan van Hulst
  • Tim Moores
  • Tim Holloway
  • Carey Brown
  • Piet Souris
Bartenders:
  • salvin francis
  • fred rosenberger
  • Frits Walraven

getScreenSize() method giving java.awt.HeadlessException

 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I am getting HeadlessException for getScreenSize() method.Please find the below sample code for more details.

Dimension dim = null;
try{
dim = Toolkit.getDefaultToolkit().getScreenSize();
}catch(Exception e){
e.printStackTrace();
}

The getScreenSize() method is not working in Java 1.6.But it is working in 1.4.
Recently we have upgraded the java to 1.6.

Can you please help me on this issue ?|
 
Sheriff
Posts: 21922
106
Eclipse IDE Spring VI Editor Chrome Java Ubuntu Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've seen from one of these other threads that you're calling this code from a JSP file (as shown by stack trace element at com.ibm._jsp._Translation._jspService(_Translation .java:158)).
Are you aware that calling this method from a JSP would return the server's screen size, not the client's? You can only get the client screen size from an applet, and that probably still requires a signed applet.

If you really do need to get the server's screen size, add -Djava.awt.headless=false to your JVM options.
 
teja popuri
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Rob,

Thanks for your reply.

yes.I am calling it in JSP page.

It is not working in JSP page with JAVA 1.6

But it is working in JSP page with JAVA 1.4.


Any idea on this issue?
 
Rob Spoor
Sheriff
Posts: 21922
106
Eclipse IDE Spring VI Editor Chrome Java Ubuntu Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Which screen size are you trying to get? That of the client or the server?
If it's the server, does the server even have a screen size to return? If it's a Linux or Unix server without any windowing system (like X11 or Xorg), you will never be able to get the screen size because there simply isn't any.
 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have encountered the java.awt.headlessexception when the code I developed moved from Windows environment to AIX environment.

The code snippet is Dimension.getDefaultToolKit().getScreenSize(). Tried a lot in forums. 2 viable options are using System.setProperty() and setting java.awt.headless=true on the console. If you use the former, have to be set even before class loading happens (I felt complicated). The latter is not recommended in enterprise applications (as the web admin has to set it every time the JVM is restarted).

So, I opted for Javascript (screen.width and screen.height) parameters and added them to the request string to access in my servlet. Finally worked!!
 
It's a pleasure to see superheros taking such an interest in science. And this tiny ad:
Two software engineers solve most of the world's problems in one K&R sized book
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
    Bookmark Topic Watch Topic
  • New Topic