https://github.com/rolve/gui
GUI Library for "Intro to Java" Courses
https://github.com/rolve/gui
education gui introduction-to-java introduction-to-programming
Last synced: 11 days ago
JSON representation
GUI Library for "Intro to Java" Courses
- Host: GitHub
- URL: https://github.com/rolve/gui
- Owner: rolve
- Created: 2019-10-18T12:07:08.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2026-01-27T10:14:57.000Z (14 days ago)
- Last Synced: 2026-01-27T22:38:43.161Z (14 days ago)
- Topics: education, gui, introduction-to-java, introduction-to-programming
- Language: Java
- Size: 2.04 MB
- Stars: 4
- Watchers: 2
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GUI Library for "Intro to Java" Courses
A library for creating simple GUIs in introduction-level programming courses.
The default backend uses Swing to display the GUI in a window, but the
library does not expose any Swing types or concepts directly; instead, all
functionality is exposed using a simple, single-threaded, and mostly
primitive-type-based API. In addition, there is an experimental backend that
exposes the GUI as a web page using an HTML5 canvas.
The base API uses a single object of type [Gui][1] and focuses on
drawing operations and global user inputs. An extended interface allows
adding "[Component][2]s", which are objects that draw
themselves on the GUI and can react to local user inputs using simple
callbacks.
More Info in the [API Documentation][3].
## Download
The library is hosted in a [public Maven repository on gitlab.fhnw.ch][4],
where you can check for the latest version and download the JAR file.
For Maven projects, add the following to your pom.xml file:
```xml
ch.trick17.gui
gui
2.9.0-SNAPSHOT
gitlab-maven
https://gitlab.fhnw.ch/api/v4/projects/17730/packages/maven
```
For Gradle projects:
```groovy
repositories {
mavenCentral()
maven {
url "https://gitlab.fhnw.ch/api/v4/projects/17730/packages/maven"
}
}
dependencies {
implementation 'ch.trick17.gui:gui:2.9.0-SNAPSHOT'
}
```
[1]: https://gui.pages.fhnw.ch/gui/apidocs/ch/trick17/gui/Gui.html
[2]: https://gui.pages.fhnw.ch/gui/apidocs/ch/trick17/gui/component/Component.html
[3]: https://gui.pages.fhnw.ch/gui/apidocs/
[4]: https://gitlab.fhnw.ch/gui/gui/-/packages