[Question] Are there step-by-step Instructions (for dummies) on how to create vision components?

Hello Volunteer Experts.

I’ve read a lot of the Ignition SDK Programmer’s Guide, a few times, and I’m still having trouble getting started. If you haven’t guessed yet I’m not a professional software architect or software developer, I’m a not-so-typical automation engineer. As far as I can tell I’ve installed all the required software per the instructions (Git, Maven, Netbeans 12.4 for my IDE…changed the default JDK from 16 to 11 etc.) and its all working. Following the Ignition vision-component example I thought I could use this as a template and expected to find some Java classes that I would edit in the Swing design tab but only source tabs exist. How to I start? I cloned ignition-module-tools from GitHub but don’t know what to do with them. Most of you clever folks know this inside and out…is there some kind of template or step-by-step guide for newbies? Any help would be appreciated.

Thanks again,

The panel extends a swing jpanel…so how come there isn’t a .form file? It’s been 10+ years since writing Java applications…what am I missing?

I by no means know what I’m talking about here, but IA moved from Maven to Gradle. The sdk is a bit outdated I think

Internally, and the new Perspective example uses Gradle, but you can use whatever build system you want. They’re just dependencies and the module file is just a zip file in the end. The Maven plugin we published still works just fine.

1 Like

.form files are generated by the NetBeans GUI builder and aren’t a feature of Java itself. We’re IDE agnostic, so no .form files.

Idk if you’ve been here yet? I too am trying to get into module development. It feels like a tall order. But, so did ignition itself. When I started.

Seems like someone could make a course on Udemy or something. Feels like enough people are there wanting to learn…

Would that I had all the time in the world :slight_smile:
A few people internally have been kicking around the same idea (for a while…) - we’re doing internal restructuring of our build process right now, but once that’s done there might be bandwidth for something in this space.


Paul you do. And best I can tell you do it well.

You’re not a teacher. How does it go?

“Those that can’t do, teach”

While there’s a lot of truth to that, “not A → B” does not make “A → not B”. There are many who can both do and teach. Paul does a lot of effective teaching around here.


Sure. He’s taught me plenty as well as you. I am really grateful for you guys. Learning ignition was such a blessing for me. I just landed an amazing job. Like just this morning…

I was speaking more to that there are likely more profitable pursuits. He could be doing with his found time. lol


Our instruction team resents that remark :wink:


Hello everyone, thank you for the tips and insights :slight_smile:
So one more question…
Regardless of the IDE I’m using, do you know of an IDE that creates a WYSIWYG-type design window when you create a class that extends a (correction) AbstractVisionComponent? I’m assuming the Ignition programmers use something like that to create components.
Thanks again and have a great weekend!

We don’t use anything like that. We write all our UIs by hand.

Ahhhh, okay. Thanks Kevin, I guess that explains it then. Rats.

There are also many who can do, and cannot teach (as you implied). Teaching is a skill in its own right. Just want to give a shout out to @PGriffith @Kevin.Herron and you @pturmel for being great teachers on this forum. I’ve been using Ignition for a little over two years now and you all have been vital in upping my (and I’m sure many others) skills.


Beginners Solution

Eclipse IDE 2021-6 (download site) has a bi-directional UI designer plug in, WindowBuilder Pro [download site]. It creates a WYSIWYG-type design tab from Swing classes. Here’s a screen grab of the SDK vision-component example ChartComponent.java (I modified it).

It isn’t perfect and you still have to code by hand (like Kevin said) but it gives you something to look at.

Regarding my question about a step-by-step guide, well, I cloned the vision-component example and just started modifying to see if I could do something. Coding for the chart in the example was incomplete so I finished it by creating the bean info class from the hello-world component, Imported the module and added the components to my project.


Hopefully this can help some other people new to component development.

More questions later as I keep challenging myself :slight_smile:

Best regards,


LoL, a Siemens Energy system with an Ignition UI!!
A lot of people @SIemens are not going to like this…

If companies aren’t going to update with the times, then who cares!

I know people who work for Siemens and work with Allen Bradley products, what’s your point?