# Glowy ellipses using javaFX bloom \[MULTIPLE QUESTIONS\]

**URL:** <https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156>\
**Category:** Coding Questions\
**Created:** [November 2, 2019, 8:08pm UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156 "2019-11-02T20:08:00Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![FilDomInteractive](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/fildominteractive/32/6678_2.png) [@FilDomInteractive](https://discourse.processing.org/u/FilDomInteractive)\
**Post date:** [November 2, 2019, 8:08pm UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/1 "2019-11-02T20:08:00Z")

</div>

Multiple questions \>

1. How to make glowy ellipses using javaFX bloom?

2. How to make ellipse motion effect that it fades in to the ellipse?  
Thank you

EDIT :

1. And how to import javafx bloom library?

---

<div class="post-metadata">

**Author:** ![micycle](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/micycle/32/201_2.png) [@micycle](https://discourse.processing.org/u/micycle)\
**Post date:** [November 2, 2019, 9:17pm UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/2 "2019-11-02T21:17:24Z")

</div>

1. 

```
surface = (PSurfaceFX) getSurface();
canvas = (Canvas) surface.getNative();
canvas.setEffect(new Bloom());

```

2. 

```
fill(255, 100);
rect(0, 0, width, height);

```

3. `import javafx.scene.effect.Bloom;`

Example: [This](https://github.com/Stephcraft/Project-16x16) Processing project with bloom effect added.

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/5/5b49231b7ac572b7836191070c51b0379126a881.png)

---

<div class="post-metadata">

**Author:** ![FilDomInteractive](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/fildominteractive/32/6678_2.png) [@FilDomInteractive](https://discourse.processing.org/u/FilDomInteractive)\
**Post date:** [November 2, 2019, 9:23pm UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/3 "2019-11-02T21:23:01Z")

</div>

Getting many errors like “PSurface doesn’t exist”

---

<div class="post-metadata">

**Author:** ![micycle](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/micycle/32/201_2.png) [@micycle](https://discourse.processing.org/u/micycle)\
**Post date:** [November 2, 2019, 9:43pm UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/4 "2019-11-02T21:43:11Z")

</div>

You might have to import that too:

```auto
import processing.core.PSurface;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;

```

---

<div class="post-metadata">

**Author:** ![FilDomInteractive](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/fildominteractive/32/6678_2.png) [@FilDomInteractive](https://discourse.processing.org/u/FilDomInteractive)\
**Post date:** [November 2, 2019, 10:15pm UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/5 "2019-11-02T22:15:14Z")

</div>

Still getting \> “The class ‘PSurfaceFX’ doesn’t exist”, “The variable ‘canvas’ doesn’t exist” and “The name ‘canvas’ cannot be recognized”.

Fix?

Also this is my full code \>

```auto
import processing.core.PSurface;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.effect.Bloom;

fill(255, 100);
rect(0, 0, width, height);

surface = (PSurfaceFX) getSurface();
canvas = (Canvas) surface.getNative();
canvas.setEffect(new Bloom());

```

---

<div class="post-metadata">

**Author:** ![micycle](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/micycle/32/201_2.png) [@micycle](https://discourse.processing.org/u/micycle)\
**Post date:** [November 2, 2019, 10:33pm UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/6 "2019-11-02T22:33:14Z")

</div>

You have a `setup()` and `draw()` loop right? Or are you **completely** new to Processing?

---

<div class="post-metadata">

**Author:** ![Lexyth](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/lexyth/32/7403_2.png) [@Lexyth](https://discourse.processing.org/u/Lexyth)\
**Post date:** [November 2, 2019, 10:36pm UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/7 "2019-11-02T22:36:32Z")

</div>

Try using

```auto
import processing.javafx.PSurfaceFX;

```

Also, you have to declare

```auto
Canvas canvas = (Canvas) surface.getNative();

```

if it‘s a new Variable.  
Same for surface.

---

<div class="post-metadata">

**Author:** ![FilDomInteractive](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/fildominteractive/32/6678_2.png) [@FilDomInteractive](https://discourse.processing.org/u/FilDomInteractive)\
**Post date:** [November 3, 2019, 8:57am UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/8 "2019-11-03T08:57:18Z")

</div>

Still getting error \> java.lang.reflect.InvocationTargetException

FULL CODE \>

```auto
import processing.javafx.PSurfaceFX;
import processing.core.PSurface;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.effect.Bloom;

Canvas canvas = (Canvas) surface.getNative();

void setup() {
  size(800, 600);
}

void draw() {
  fill(255, 100);
rect(0, 0, width, height);

surface = (PSurfaceFX) getSurface();
canvas = (Canvas) surface.getNative();
canvas.setEffect(new Bloom());
}
```

---

<div class="post-metadata">

**Author:** ![Lexyth](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/lexyth/32/7403_2.png) [@Lexyth](https://discourse.processing.org/u/Lexyth)\
**Post date:** [November 3, 2019, 9:12am UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/9 "2019-11-03T09:12:12Z")

</div>

You can get the cause by adding

```auto
try {

} catch (InvocationTargetException e) {
e.getCause().printStackTrace();
}

```

This way you can see where the problem lies specifically. Please do this and tell us what you got.

Also, you did declare the canvas variable, but never the surface variable in the Code you posted, which is likely the cause of the problem.

---

<div class="post-metadata">

**Author:** ![FilDomInteractive](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/fildominteractive/32/6678_2.png) [@FilDomInteractive](https://discourse.processing.org/u/FilDomInteractive)\
**Post date:** [November 3, 2019, 9:15am UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/10 "2019-11-03T09:15:53Z")

</div>

Getting error \> The class InvokationTargetException doesn’t exist.

---

<div class="post-metadata">

**Author:** ![FilDomInteractive](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/fildominteractive/32/6678_2.png) [@FilDomInteractive](https://discourse.processing.org/u/FilDomInteractive)\
**Post date:** [November 3, 2019, 9:16am UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/11 "2019-11-03T09:16:30Z")

</div>

Also how do I declare the surface?

---

<div class="post-metadata">

**Author:** ![Lexyth](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/lexyth/32/7403_2.png) [@Lexyth](https://discourse.processing.org/u/Lexyth)\
**Post date:** [November 3, 2019, 9:17am UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/12 "2019-11-03T09:17:00Z")

</div>

You need to include

```auto
import java.lang.reflect.InvocationTargetException;

```

---

<div class="post-metadata">

**Author:** ![FilDomInteractive](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/fildominteractive/32/6678_2.png) [@FilDomInteractive](https://discourse.processing.org/u/FilDomInteractive)\
**Post date:** [November 3, 2019, 9:17am UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/13 "2019-11-03T09:17:45Z")

</div>

The import java.lang.reflect.InvokationTargetException cannot be resolved

---

<div class="post-metadata">

**Author:** ![Lexyth](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/lexyth/32/7403_2.png) [@Lexyth](https://discourse.processing.org/u/Lexyth)\
**Post date:** [November 3, 2019, 9:20am UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/14 "2019-11-03T09:20:09Z")

</div>

You declare a variable like this

```auto
ClassName variableName; //or
ClassName variableName = new ClassName(); // or for primitives
ClassName variableName = ClassValue; // for Int it‘s a number, for String a String like „Hello“ etc.

```

Edit : It‘s Invocation, not Invokation. (Autocorrect messed me up)

---

<div class="post-metadata">

**Author:** ![FilDomInteractive](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/fildominteractive/32/6678_2.png) [@FilDomInteractive](https://discourse.processing.org/u/FilDomInteractive)\
**Post date:** [November 3, 2019, 9:21am UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/15 "2019-11-03T09:21:52Z")

</div>

Error \> Unreachable catch block for InvocationTargetException. This exception is never thrown from the try statement body

And I still don’t understand, how should I decalre the canvas

---

<div class="post-metadata">

**Author:** ![Lexyth](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/lexyth/32/7403_2.png) [@Lexyth](https://discourse.processing.org/u/Lexyth)\
**Post date:** [November 3, 2019, 9:23am UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/16 "2019-11-03T09:23:01Z")

</div>

Yeah, that just shows that it‘s from outside the function. In this case it‘s very likely from the not declared surface variable.

---

<div class="post-metadata">

**Author:** ![FilDomInteractive](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/fildominteractive/32/6678_2.png) [@FilDomInteractive](https://discourse.processing.org/u/FilDomInteractive)\
**Post date:** [November 3, 2019, 9:24am UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/17 "2019-11-03T09:24:10Z")

</div>

How do I declare it, like what should I use?

className varName;  
className varName = new className();  
or  
className varName = classValue;

---

<div class="post-metadata">

**Author:** ![FilDomInteractive](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/fildominteractive/32/6678_2.png) [@FilDomInteractive](https://discourse.processing.org/u/FilDomInteractive)\
**Post date:** [November 3, 2019, 9:24am UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/18 "2019-11-03T09:24:47Z")

</div>

Also I have this in my code \> Canvas canvas = (Canvas) surface.getNative();

---

<div class="post-metadata">

**Author:** ![Lexyth](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/lexyth/32/7403_2.png) [@Lexyth](https://discourse.processing.org/u/Lexyth)\
**Post date:** [November 3, 2019, 9:30am UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/19 "2019-11-03T09:30:54Z")

</div>

```auto
import processing.javafx.PSurfaceFX;
import processing.core.PSurface;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.effect.Bloom;

PSurfaceFX surface;
Canvas canvas;

void setup() {
  size(800, 600);
}

void draw() {
  fill(255, 100);
rect(0, 0, width, height);

surface = (PSurfaceFX) getSurface();
canvas = (Canvas) surface.getNative();
canvas.setEffect(new Bloom());
}

```

Since you are going to set surface inside the Setup function, you can just declare it without a specific value. Same for canvas. And pay attention to the order in which variables are set. In this case, if canvas where to already be declared with a value outside the function, you‘d end up refering to the surface variable before it has a value.

---

<div class="post-metadata">

**Author:** ![FilDomInteractive](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/fildominteractive/32/6678_2.png) [@FilDomInteractive](https://discourse.processing.org/u/FilDomInteractive)\
**Post date:** [November 3, 2019, 9:52am UTC](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156/20 "2019-11-03T09:52:11Z")

</div>

Error \> ClassCastException: processing.awt.PSurfaceAWT cannot be cast to processing.javafx.PSurfaceFX

[Next page](https://discourse.processing.org/t/glowy-ellipses-using-javafx-bloom-multiple-questions/15156.md?page=2)
