ikvmnet / ikvm

A Java Virtual Machine and Bytecode-to-IL Converter for .NET
Other
1.24k stars 116 forks source link

AWT Headless Exception with ImageJ. #542

Closed BiologyTools closed 3 months ago

BiologyTools commented 3 months ago

I'm trying to run ImageJ (ij.jar) using IKVM 8.8.1 but whenever I try to launch ImageJ I get the following error even when I set ImageJ to launch in headless mode or in normal mode.

using ij;
namespace FijiTest
{
    public partial class Form1 : Form
    {
        public Form1(string[] args)
        {
            InitializeComponent();
            var ijp = new ImageJ();
        }
    }
}

Here is the error I get.

java.awt.HeadlessException
  HResult=0x80131500
  Message=
  Source=IKVM.Java
  StackTrace:
   at java.awt.GraphicsEnvironment.checkHeadless()
   at java.awt.Window..ctor()
   at java.awt.Frame..ctor(String title)
   at ij.ImageJ..ctor(Applet applet, Int32 mode) in ImageJ.java:line 148
   at ij.ImageJ..ctor() in ImageJ.java:line 132
   at FijiTest.Form1..ctor(String[] args) in C:\Users\Kari\source\repos\FijiTest\FijiTest\Form1.cs:line 9
   at FijiTest.Program.Main(String[] args) in C:\Users\Kari\source\repos\FijiTest\FijiTest\Program.cs:line 14

ImageJTest.zip

I've attached a project which replicates the error. Best, Erik

GeorgeS2019 commented 3 months ago

@BiologyTools https://github.com/ikvmnet/ikvm/issues/144#issuecomment-2131934900

BiologyTools commented 3 months ago

@GeorgeS2019 Following your instructions using the develop branch I got ImageJ to run. However the buttons don't show up and instead show Chinese letters. Which is just a language issue so everything works thanks! image

GeorgeS2019 commented 3 months ago

This is something yet to be addressed. It seems to only happen in Windows and not linux. You may need to check that.