# Accessing Ignition Component Properties, Programmatic Placement of properties

**URL:** <https://forum.inductiveautomation.com/t/accessing-ignition-component-properties-programmatic-placement-of-properties/61324>\
**Category:** Ignition\
**Tags:** vision\
**Created:** [June 28, 2022, 8:33pm UTC](https://forum.inductiveautomation.com/t/accessing-ignition-component-properties-programmatic-placement-of-properties/61324 "2022-06-28T20:33:06Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![lrose](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrose/32/62724_2.png) [@lrose](https://forum.inductiveautomation.com/u/lrose)\
**Post date:** [June 28, 2022, 8:48pm UTC](https://forum.inductiveautomation.com/t/accessing-ignition-component-properties-programmatic-placement-of-properties/61324/2 "2022-06-28T20:48:13Z")

</div>

Ignition components aren't written in Jython, they are written in Java. You can deep dive into the Java Docs if you want.

You might also find this useful.

> [@Finding all available methods from a component](https://forum.inductiveautomation.com/t/finding-all-available-methods-from-a-component/9670/2):
>
> I’ve attached the introspect() function that I wrote years ago (in the FPMI days). Still handy today. I suggest you load it as a shared module, then call it like: powerTable = event.source.parent.getComponent('Power Table') shared.inspect.introspect(powerTable) inspect.py (3.09 KB) Edit: Link expired. Use the version shown below.

However, putting that aside. JavaSwing which is what Vision uses, is terrible at scaling, so choosing to use `system.gui.transform()` here is gonna be a rough road. I would strongly recommend using a Paintable Canvas.

---

_[View the full topic](https://forum.inductiveautomation.com/t/accessing-ignition-component-properties-programmatic-placement-of-properties/61324)._
