Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kordamp/bootstrapfx
BootstrapFX: Bootstrap for JavaFX
https://github.com/kordamp/bootstrapfx
Last synced: 5 days ago
JSON representation
BootstrapFX: Bootstrap for JavaFX
- Host: GitHub
- URL: https://github.com/kordamp/bootstrapfx
- Owner: kordamp
- License: mit
- Created: 2015-09-08T22:04:56.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2021-05-06T21:43:19.000Z (over 3 years ago)
- Last Synced: 2024-05-18T21:35:28.355Z (7 months ago)
- Language: Java
- Size: 846 KB
- Stars: 935
- Watchers: 53
- Forks: 137
- Open Issues: 12
-
Metadata Files:
- Readme: README.adoc
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- AwesomeJavaFX - BootstrapFX - BootstrapFX is a partial port of Twitter Bootstrap for JavaFX. (Libraries, Tools and Projects)
README
= BootstrapFX
:linkattrs:
:project-owner: kordamp
:project-repo: maven
:project-name: bootstrapfx
:project-group: org.kordamp.bootstrapfx
:project-version: 0.4.0image:https://img.shields.io/github/workflow/status/{project-owner}/{project-name}/EarlyAccess?logo=github["Build Status", link="https://github.com/{project-owner}/{project-name}/actions"]
image:https://img.shields.io/maven-central/v/{project-group}/{project-name}-core.svg[link="https://search.maven.org/#search|ga|1|{project-group}"]---
BootstrapFX is a partial port of link:http://getbootstrap.com/[Twitter Bootstrap] for JavaFX. It mainly provides a CSS
stylesheet that closely resembles the original while being custom tailored for JavaFX's unique CSS flavor.It's worth mentioning that Twitter Bootstrap delivers more than just a standardized look for common widgets. It also
provides new widgets, behavior and a grid system. Some of these features may be ported at a later stage to BootstrapFX.== Installing
You can get the latest version of **BootstrapFX** from Maven Central.
[source,groovy]
[subs="attributes"]
.gradle
----
repositories {
mavenCentral()
}dependencies {
implementation '{project-group}:{project-name}-core:{project-version}'
}
----[source,xml]
[subs="attributes,verbatim"]
.maven
----
{project-group}
{project-name}-core
{project-version}
----
Once the `bootstrapfx-core` dependency is in your classpath you just need to apply the `boostrapfx.css` stylesheet to
a scene, for example[source,java]
----
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
import org.kordamp.bootstrapfx.BootstrapFX;
import org.kordamp.bootstrapfx.scene.layout.Panel;public class Sampler extends Application {
@Override
public void start(Stage primaryStage) throws Exception { //<1>
Panel panel = new Panel("This is the title");
panel.getStyleClass().add("panel-primary"); //<2>
BorderPane content = new BorderPane();
content.setPadding(new Insets(20));
Button button = new Button("Hello BootstrapFX");
button.getStyleClass().setAll("btn","btn-danger"); //<2>
content.setCenter(button);
panel.setBody(content);Scene scene = new Scene(panel);
scene.getStylesheets().add(BootstrapFX.bootstrapFXStylesheet()); //<3>primaryStage.setTitle("BootstrapFX");
primaryStage.setScene(scene);
primaryStage.sizeToScene();
primaryStage.show();
}
}
----
<1> Custom widget from BootstrapFX
<2> Apply CSS class to widgets
<3> Apply BootstrapFX stylesheet to scene== Building
You must meet the following requirements:
* JDK11 as a minimum
* Gradle 6.8.3You may used the included gradle wrapper script if you don't have `gradle` installed.
=== Installing Gradle
.Manual
. Download Gradle from http://gradle.org/downloads
. Unzip the file into a directory without spaces (recommended).
. Create a GRADLE_HOME environment variable that points to this directory.
. Adjust your PATH environment variable to include $GRADLE_HOME/bin (%GRADLE_HOME%\bin on Windows).
. Test your setup by invoking `gradle --version`..SDKMAN
. Follow the instructions found at http://sdkman.io/ to install SDKMAN.
. You need a POSIX environment if running Windows. We recommend using Babun Shell (http://babun.github.io/)
. Once SDKMAN is installed invoke `sdk install gradle 6.8.3`.
. Test your setup by invoking `gradle --version`..Gum
Gum is a wrapper script that facilitates invoking gradle tasks anywhere within a Gradle project. It's smart enough
to use the gradle wrapper if available or your global gradle command. This is an optional download.. Follow the instructions found at https://github.com/kordamp/gm to install gum
=== Next Steps
Make a full build by invoking the following command
[source]
----
$ gm build
----Run the sampler application by invoking the following command
[source]
----
$ gm :sampler:run
----== Supported CSS Classes
=== Text
* b, strong
* i, em, italic, dfn
* small
* code, kbd, pre, samp
* h1, h2, h3, h4, h5, h6
* lead
* p
* text-mute
* text-primary, text-success, text-info, text-warning, text-danger
* bg-primary, bg-success, bg-info, bg-warning, bg-danger=== Buttons
* btn
* btn-default, btn-primary, btn-success, btn-info, btn-warning, btn-danger
* btn-lg, btn-sm, btn-xs=== SplitMenu Buttons
* split-menu-btn
* split-menu-btn-default, split-menu-btn-primary, split-menu-btn-success, split-menu-btn-info, split-menu-btn-warning, split-menu-btn-danger
* split-menu-btn-lg, split-menu-btn-sm, split-menu-btn-xs=== Labels
* lbl
* lbl-default, lbl-primary, lbl-success, lbl-info, lbl-warning, lbl-danger=== Panels
* panel
* panel-default, panel-primary, panel-success, panel-info, panel-warning, panel-danger
* panel-heading
* panel-title
* panel-body
* panel-footer=== Alerts
* alert
* alert-success, alert-info, alert-warning, alert-danger=== Groups
* btn-group-horizontal
* btn-group-vertical*NOTE:* all elements inside the vertical button group must have the same width.
=== Progress Bars
* progress-bar-primary
* progress-bar-success
* progress-bar-info
* progress-bar-warning
* progress-bar-danger=== Tooltips
* tooltip-primary
* tooltip-success
* tooltip-info
* tooltip-warning
* tooltip-danger=== Miscellaneous
* badge
== Screenshots
image::images/buttons.png[]
image::images/labels.png[]
image::images/alerts.png[]
image::images/panels.png[]
image::images/splitmenu-buttons.png[]
== Changelog
.0.4.0
* Full modular build.
* JDK 11 is now the minimum requirement..0.3.0
* The build was updated to use a different SASS plugin.
.0.2.4
* The `bootstrapfx.css` file has been moved to `org/kordamp/bootstrapfx/bootstrapfx.css`.
.0.2.3
* Added `progress-bar` variants
* Added `tooltip` variants
* Tweaked menu items and menus.0.2.2
* Add `Automatic-Module-Name` to JAR manifest
.0.2.1
* POM updates
.0.2.0
* SplitMenu Button support
* Button group support
* `lead` on Text.0.1.0
* First release