An abstract graphics layer based on Android GUI, AWT, SWT and so on.
"Any problem in computer science can be solved with another layer of indirection [except the problem of too many layers of indirection]."
Notcute is not a framework built from scratch, just an indirection layer over existing frameworks.
- Java SE: Java 8 or later
- Android: SDK 16 (version 4.1) or later
- If you want to share code between platforms, you should use a subset of Java 8
- A cross-platform desktop/mobile Widget Toolkit/Game Engine for Java.
- Modular and flexible.
- Can be embedded to related GUI frameworks (Android GUI, AWT, etc).
- Using Qt-like signal/slot instead of traditional callbacks, to prevent the 'callback hell'.
ui-core
├── ui-android
│ └── Android GUI
│ └── Android
├── ui-awt
│ └── AWT
│ ├── Cocoa
│ │ └── macOS
│ ├── Win32
│ │ └── Windows
│ └── X11
│ ├── *nix⁄X11
│ └── XWayland
│ └── *nix⁄Wayland
├── (WIP) ui-ikvm
│ ├── UWP
│ │ ├── Windows Phone
│ │ └── Windows⁄UWP
│ └── Win32
│ └── Windows
├── (WIP) ui-javafx
│ └── JavaFX
│ ├── Cocoa
│ │ └── macOS
│ ├── GTK
│ │ ├── *nix⁄Wayland
│ │ └── *nix⁄X11
│ ├── JavaFXPorts
│ │ ├── Android
│ │ └── iOS
│ └── Win32
│ └── Windows
├── (WIP) ui-qtjambi
│ └── Qt-Jambi
│ └── Qt
│ ├── Android
│ ├── macOS
│ ├── *nix⁄Wayland
│ ├── *nix⁄X11
│ └── Windows
├── (WIP) ui-robovm
│ └── CocoaTouch
│ └── iOS
├── (WIP) ui-swt
│ └── SWT
│ ├── Cocoa
│ │ └── macOS
│ ├── GTK
│ │ ├── *nix⁄Wayland
│ │ └── *nix⁄X11
│ └── Win32
│ └── Windows
└── (WIP) ui-teavm
└── TeaVM
└── HTML5
└── Modern Browsers
- Port to SWT, TeaVM, JavaFX, Qt-Jambi, RoboVM, IKVM.NET.
- The pluggable system-independent widgets library.
- 2D particle library.
- Scaffolding libraries for several kinds of games: STG, AVG, RTS, Roguelike and so on.
Add the following lines to the JVM args:
--add-exports java.desktop/sun.awt=ALL-UNNAMED
Add the following lines to the JVM args:
--add-exports java.desktop/sun.awt=ALL-UNNAMED
--add-exports java.desktop/sun.awt.X11=ALL-UNNAMED
The Notcute project currently maintained by only me.
Since I'm not a skilled programmer, the code may be badly written...
So contributions & PRs welcome!
Apache-2.0 (c) Tianscar
Apache-2.0 Apache Harmony
Apache-2.0 FlatLaf
MIT AudioCue-Maven
MIT sig4j
Apache-2.0 jnr-ffi
BSD-3-Clause TwelveMonkeys
LGPL-2.1 MP3SPI
LGPL-2.1 VorbisSPI
LGPL-2.1 jFLAC