Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/JonathanGiles/scenic-view
Scenic View is a JavaFX application designed to make it simple to understand the current state of your application scenegraph, and to also easily manipulate properties of the scenegraph without having to keep editing your code. This lets you find bugs, and get things pixel perfect without having to do the compile-check-compile dance.
https://github.com/JonathanGiles/scenic-view
Last synced: 24 days ago
JSON representation
Scenic View is a JavaFX application designed to make it simple to understand the current state of your application scenegraph, and to also easily manipulate properties of the scenegraph without having to keep editing your code. This lets you find bugs, and get things pixel perfect without having to do the compile-check-compile dance.
- Host: GitHub
- URL: https://github.com/JonathanGiles/scenic-view
- Owner: JonathanGiles
- License: gpl-3.0
- Created: 2018-12-09T22:09:29.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-02-05T20:08:35.000Z (10 months ago)
- Last Synced: 2024-05-18T19:35:37.876Z (7 months ago)
- Language: Java
- Homepage:
- Size: 4.61 MB
- Stars: 497
- Watchers: 23
- Forks: 65
- Open Issues: 47
-
Metadata Files:
- Readme: ReadMe.md
- License: LICENSE
Awesome Lists containing this project
- aboutfx - Scenic View - view?style=social) | `#dev-tools` | An application designed to make it simple to understand the current state of application scene-graph, and to also easily manipulate properties of the scene-graph without having to keep editing the code | (Community / Tools)
README
Scenic View
===========Scenic View is a JavaFX application designed to make it simple to understand the current state of your application scenegraph, and to also easily manipulate properties of the scenegraph without having to keep editing your code.
This lets you find bugs, and get things pixel perfect without having to do the compile-check-compile dance.[![Scenic View Screenshot](http://fxexperience.com/wp-content/uploads/2014/08/scenicView1.png)]()
## Build status
Builds for JDK 21 for Windows, Linux, and MacOS are built by GitHub Actinos. The status of these builds is shown below:
| Platform | Download for JDK 21 |
|----------|-----------------------------------------------------------------------------------------------|
| Windows | [Download](https://download.jonathangiles.net/downloads/scenic-view/scenicview-21-win.zip) |
| MacOS | [Download](https://download.jonathangiles.net/downloads/scenic-view/scenicview-21-mac.zip) |
| Linux | [Download](https://download.jonathangiles.net/downloads/scenic-view/scenicview-21-linux.zip) |You can also download platform-independent releases [JDK 8](https://download.jonathangiles.net/downloads/scenic-view/scenic-view-8.7.0.zip) and [JDK 9](https://download.jonathangiles.net/downloads/scenic-view/scenic-view-9.0.0.zip).
## Java Version
Scenic View has releases for JDK 8, JDK 9, JDK 11, and JDK 21:
- The JDK 8 release is in maintenance mode. No active development is ongoing, and the code exists in the jdk8 branch.
- The JDK 9 release is deprecated, and developers are encouraged to use either the JDK 8 release or the JDK 11 release.
- The JDK 21 releases are the actively developed branch, and the code exists in the master branch.For more information about JavaFX, see https://openjfx.io/openjfx-docs/.
## Scenic View for JDK 11+
### How to build
Install a valid Java 17+ version, and set `JAVA_HOME` accordingly.
The project is managed by gradle, so is not necessary to download the JavaFX 21.0.1 SDK.
To build the project, type:
./gradlew build
To build a custom runtime image for your platform, type:
./gradlew jlink
You can also create a zipped version of that image for distribution:
./gradlew jlinkZip
### Using Scenic View
#### Stand-alone application
Download the Scenic View custom image for your platform from the above links. Unzip and then run:
cd build/scenicview/bin
./scenicViewAlso, you can clone or download this project, and run Scenic View as stand-alone application:
./gradlew run
or if you build a custom image:
cd build/scenicview/bin
./scenicViewThen run a JavaFX application and it will be detected by Scenic View.
Alternatively, you can also run the `scenicview.jar` in any platform, providing that JDK 11 and JavaFX SDK 11 are installed:
cd build/libs/
java --module-path /path-to/javafx-21.0.1-sdk/lib --add-modules javafx.web,javafx.fxml,javafx.swing -jar scenicview.jar##### Notes
- Scenic View will detect JavaFX applications running on Java 9, 10 or 11.
- If the JavaFX application runs from a custom image (created via `link` or `jpackage`), it won't
have access to some required tools that are available when it runs from a regular JDK, and Scenic View won't be
able to find it.#### As a dependency
You can add `scenicview.jar` as a dependency to your JavaFX application. Since this jar doesn't include
the JavaFX dependencies, you should add them to your project, in case these weren't included yet.For instance, if you are running a gradle project, add the jar to a `libs` folder, then add it to the `build.gradle` file, like:
plugins {
id 'application'
id 'org.openjfx.javafxplugin' version '0.1.0'
}repositories {
mavenCentral()
}dependencies {
implementation files('libs/scenicview.jar')
}javafx {
version = '21.0.1'
modules = ['javafx.web', 'javafx.fxml', 'javafx.swing']
}and also add it to the `module-info.java` file requirements:
requires javafx.controls;
requires javafx.fxml;
requires transitive javafx.web;
requires transitive javafx.swing;requires org.scenicview.scenicview;
Finally, you can run it from the application class:
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
ScenicView.show(scene);## License
GNU General Public License v3.0-or-later
## Contributing
This project welcomes all types of contributions and suggestions.
We encourage you to report issues, create suggestions and submit pull requests.Please go through the [list of issues](https://github.com/JonathanGiles/scenic-view/issues)
to make sure that you are not duplicating an issue.