Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE 8 and provides the functionalities to use and handle easily Tiles in your JavaFX application.

Overview

Lib-Tile

Intention

Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE and provides the functionalities to use and handle easily Tiles in your JavaFX application.

A Tile is per definition a little transparent Image which overlay a background-color or -image with the help of repetitions from the image in a layer.

The current version is 0.2.0 from 08.13.2017 (MM.dd.yyyy).

Image: Crimson Night (Dark / Landscape) with different tile images different-tile-images_v0.3.0.png

Hint
Normally only one Tile can shown simultaneously. For demonstration purpose I have merge different Tiles in one picture.

Hint
This image is from the webpage https://wall.alphacoders.com. The image haven't neither a created by or shared by flag (see http://alphacoders.com/site/faq ). If anyone is the autor and won't that I use this image here in my open souce project plz send me an email (see Contact) and I will remove it. Thanks for your great work 😃 .

Content

Demo

The application Lib-Tile-Demo shows a demonstration how to use and handle the features from the libraries in the project Lib-Tile.

Image: Demo application
demo_v0.3.0.png

Hint
The library Lib-Tile-Customized-Examples provides different examples about reduced, mixed and own TileSets. This examples are shown in the tab Customized Tiles.

For more informations and examples plz see the ReadMe from Lib-Tile-Demo.

Libraries

Like I said before Lib-Tile is a multi Maven project which contains different sub-libraries. Which sub-libraries are the best for you depends from your requirements in your project.

To use Lib-Tile in your project you need minimal the library Lib-Tile-Core plus a concrete implementation from an TileLoader which loads your own Tiles images. How that work will be explained in the sub-project Lib-Tile-Demo or have a look into the class TransparentTexturesTileLoader from the library Lib-Tile-TransparentTextures-Images.

Natural you can use additional libraries which contains predefined tilesets. Currently supported is Transparent Textures with the libraries Lib-Tile-TransparentTextures and Lib-Tile-TransparentTextures-Images.

In the library Lib-Tile-Customized-Examples different examples shows how to used a reduced, mixed and / or own TileSet.

Lib-Tile-Core

The library Lib-Tile-Core provides the API to load a Tile (which is per definition a little transparent Image) as a Background or an Image with a concrete implementation from a TileLoader.

The main point for access the functionalities from this API is the class TileProvider. For example with the method TileProvider#loadAsBackground(TileLoader, Tile) the developer can load a Tile as an Background.

Class TileProvider:

/**
 * The singleton {@code TileProvider} allowed the developer access to all relevant 
 * methods in context from the {@code API} from the library {@code Lib-Tile-Core}.
 * <p>
 * For example with the methods {@code getDefaultTile(XY)} a concrete instance from 
 * the {@code Inteface} {@link com.github.naoghuman.lib.tile.core.Tile} can be created.
 * <br>
 * With the method {@code getDefaultValidator()} the developer have access to a 
 * default implementation from the {@code Inteface} 
 * {@link com.github.naoghuman.lib.tile.core.TileValidator}.
 *
 * @author Naoghuman
 * @since  0.2.0
 * @see    com.github.naoghuman.lib.tile.core.Tile
 * @see    com.github.naoghuman.lib.tile.core.TileValidator
 */
public final class TileProvider

For more informations and examples plz see the ReadMe from Lib-Tile-Core.

Lib-Tile-TransparentTextures

With the library Lib-Tile-TransparentTextures the developer have access to the tileset Transparent Textures from the internet page https://www.transparenttextures.com/ through the enum TransparentTexturesTile. Momentary that are 396 Tiles.

The tile images from this tileset are outsourced in a own library Lib-Tile-TransparentTextures-Images to reduce the size from this library. One more advance is that you can use an own TileLoader in combination with the library Lib-Tile-TransparentTextures. So you don't need to include the library Lib-Tile-TransparentTextures-Images into your project which size is momenatry 13MB.

Class TransparentTexturesTile:

/**
/**
 * The <code>enum</code> TransparentTexturesTileSet is a collection from 
 {@link com.github.naoghuman.lib.tile.core.Tile}s which representated the 
 * <code>Tileset</code> from the internet page <a href="https://www.transparenttextures.com/">https://www.transparenttextures.com/</a>.
 * <p>
 * The individual {@link com.github.naoghuman.lib.tile.core.Tile} can be loaded over the class 
 * {@link com.github.naoghuman.lib.tile.core.TileProvider} with the help from the concrete class 
 * {@link com.github.naoghuman.lib.tile.transparenttextures.images.TransparentTexturesTileLoader}.<br>
 * See there the methods 
 * {@link com.github.naoghuman.lib.tile.core.TileProvider#loadAsBackground(com.github.naoghuman.lib.tile.core.TileLoader, com.github.naoghuman.lib.tile.core.Tile) }
 * and {@link com.github.naoghuman.lib.tile.core.TileProvider#loadAsImage(com.github.naoghuman.lib.tile.core.TileLoader, com.github.naoghuman.lib.tile.core.Tile) }.
 * <p>
 * Additional informations:<br>
 * The parameters from the initialisation in this <code>Tileset</code> will be validate with the class 
 * {@link com.github.naoghuman.lib.tile.core.internal.DefaultTileValidator}. <code>DefaultTileValidator</code> 
 * allowed basic checks, for example if a {@link java.lang.String} is <code>NULL</code> or <code>EMPTY</code>.
 * 
 * @author Naoghuman
 * @see com.github.naoghuman.lib.tile.core.Tile
 * @see com.github.naoghuman.lib.tile.core.TileLoader
 * @see com.github.naoghuman.lib.tile.core.TileProvider
 * @see com.github.naoghuman.lib.tile.core.TileValidator
 * @see com.github.naoghuman.lib.tile.core.internal.DefaultTileValidator
 * @see com.github.naoghuman.lib.tile.transparenttextures.images.TransparentTexturesTileLoader
 */
public final class TransparentTexturesTileSet extends TileSet {
    
    private static final String SCOPE = TransparentTexturesTileLoader.getDefault().getScope();

    /**
     * The <code>Java</code> representation from the tile: 3Px Tile
     */
    public static final Tile TT_3PX_TILE = TileProvider.getDefault().getDefaultTile(SCOPE, "tt-3px-tile.png", "3Px Tile", 100, 100, "Gre3g", "http://gre3g.livejournal.com/"); // NOI18N
    
    /**
     * The <code>Java</code> representation from the tile: 45 Degree Fabric (Dark)
     */
    public static final Tile TT_45_DEGREE_FABRIC_DARK = TileProvider.getDefault().getDefaultTile(SCOPE, "tt-45-degree-fabric-dark.png", "45 Degree Fabric (Dark)", 315, 315, "Atle Mo", "http://atle.co/"); // NOI18N
    
    ...
}

For more informations and examples plz see the ReadMe from Lib-Tile-TransparentTextures.

Lib-Tile-TransparentTextures-Images

The library Lib-Tile-TransparentTextures-Images contains all images from the tileset Transparent Textures which can be loaded with the help from the class TransparentTexturesTileLoader (which is contained in the library Lib-Tile-TransparentTextures).

Class TransparentTexturesTileLoader:

/**
 * The singleton <code>TransparentTexturesTileLoader</code> is a concrete implementation 
 * from the <code>Interface</code> {@link com.github.naoghuman.lib.tile.core.TileLoader}.
 * <p>
 * With this class it's possible to load a {@link com.github.naoghuman.lib.tile.core.Tile} 
 * (which is per definition a little transparent Image) from the enum 
 * {@link com.github.naoghuman.lib.tile.transparenttextures.TransparentTexturesTile} as a 
 * {@link javafx.scene.layout.Background} or an {@link javafx.scene.image.Image} with the 
 * help from {@link com.github.naoghuman.lib.tile.core.TileProvider#loadAsBackground(TileLoader, Tile)} 
 * or {@link com.github.naoghuman.lib.tile.core.TileProvider#loadAsImage(TileLoader, Tile)}.
 *
 * @author Naoghuman
 * @see com.github.naoghuman.lib.tile.core.Tile
 * @see com.github.naoghuman.lib.tile.core.TileLoader
 * @see com.github.naoghuman.lib.tile.core.TileProvider
 * @see com.github.naoghuman.lib.tile.transparenttextures.TransparentTexturesTile
 * @see javafx.scene.layout.Background
 * @see javafx.scene.image.Image
 */
public final class TransparentTexturesTileLoader extends TileLoader

For more informations and examples plz see the ReadMe from Lib-Tile-TransparentTextures-Images.

Lib-Tile-Customized-Examples

The library Lib-Tile-Customized-Examples provides different examples about CustomizedTileSets. There will be following demonstrations:

  • An example which shows how to implemente a reduced TileSet. A reduced TileSet contains different predefined Tiles from an existing TileSet which is in this example TransparentTextures.
  • The next example (will be implemented in the future) shows an mixed TileSet. A mixed TileSet contains predefined and own Tiles.
  • The last example (will be implemented in the future) shows an own TileSet. Like own means this example contains only own Tiles.

Class CustomizedExampleReducedTileSet:

/**
 * TODO
 * 
 * @author Naoghuman
 * @since  0.2.0
 */
public final class CustomizedExampleReducedTileSet extends TileSet

For more informations and examples plz see the ReadMe from Lib-Tile-Customized-Examples.

Download

Current version is 0.2.0. Main points in this release are:

  • This is a mayor update.
  • Rework the api from the library.
  • Add new TileValidator.
  • Add new sub-library Lib-Tile-Customized-Examples.
  • Update the documentation and JavaDoc to reflect the changes.

There are different zip files as download available. Plz choose the right one in dependency from your necessities:

  • Download Lib-Tile-Core-0.2.0.zip
  • Download Lib-Tile-Core-And-TransparentTextures-0.2.0.zip
    • Contains the libraries lib-tile-core-0.2.0.jar, lib-tile-transparenttextures-0.2.0.jar, lib-tile-transparenttextures-images-0.2.0.jar.
    • You can use the predefined tileset Transparent Textures in your application.
  • Download Lib-Tile-All-0.2.0.zip
    • Contains the libraries lib-tile-core-0.2.0.jar, lib-tile-transparenttextures-0.2.0.jar, lib-tile-transparenttextures-images-0.2.0.jar and lib-tile-customized-examples-0.2.0.jar.

Access to the downloads are here: Download Lib-Tile

Requirements

Installation

Depends on your necessities you have different options like in the section Download is shown. Download the right zip file, extract it and include the jar file(s) into your project. That was it 😄 .

Documentation

The projects Lib-Tile and Lib-Tile-Demo contains in form from the README.md and the JavaDoc the documentation.

Contribution

License

The project Lib-Tile and all sub-projects are licensed under General Public License 3.0.

Autor

The project Lib-Tile and all sub-projects are maintained by me, Peter Rogge. See Contact.

Contact

You can reach me under [email protected].

You might also like...

A framework for easily creating forms for a JavaFX UI.

A framework for easily creating forms for a JavaFX UI.

FormsFX Forms for business application made easy. Creating forms in Java has never been this easy! Maven To use this framework as part of your Maven b

Dec 30, 2022

Tray Icon implementation for JavaFX applications. Say goodbye to using AWT's SystemTray icon, instead use a JavaFX Tray Icon.

Tray Icon implementation for JavaFX applications. Say goodbye to using AWT's SystemTray icon, instead use a JavaFX Tray Icon.

FXTrayIcon Library intended for use in JavaFX applications that makes adding a System Tray icon easier. The FXTrayIcon class handles all the messy AWT

Dec 30, 2022

Example of using the TestFX library to perform E2E tests in a Maven project

demoTestFX Ejemplo de uso de la librería TestFX para realizar pruebas E2E en un proyecto Maven. El principal problema para conseguir ejecutar los test

Jan 28, 2022

A maven-based JavaFX Asteroids game based on a tutorial from Lee Stemkoski

JavaFX Asteroids About This is a maven-based project which implements a JavaFX Asteroids Game. The code is based on a tutorial from Lee Stemkoski whic

Mar 2, 2022

MaterialFX is an open source Java library which provides material design components for JavaFX

MaterialFX is an open source Java library which provides material design components for JavaFX

MaterialFX MaterialFX is an open source Java library which provides material design components for JavaFX Explore the wiki » Download Latest Demo · Re

Jan 3, 2023

An advanced book explorer/catalog application written in Java and Kotlin.

An advanced book explorer/catalog application written in Java and Kotlin.

Boomega An advanced book explorer/catalog application written in Java and Kotlin. ✨ Features Cross-platform Dark/Light theme, modern UI Multiple UI la

Nov 10, 2022

A prayer times (Adhan) app for Windows and GNU/Linux written in JavaFX.

 A prayer times (Adhan) app for Windows and GNU/Linux written in JavaFX.

Salawat Salawat - سالوات A prayer times and Adhan application for Windows, macOS and GNU/Linux written in Java Download » View Demo · Report Bug · Req

Nov 17, 2022

A portable 8086 emulator written in Java and JavaFX

8086.java A portable 8086 emulator written in JavaFX Environment Variables To run this project, you will need to add the following environment variabl

Dec 1, 2022

Everest - an upcoming REST API testing client written in JavaFX

Everest - an upcoming REST API testing client written in JavaFX

Everest (formerly RESTaurant) is an upcoming REST API testing client written in JavaFX. Everest running on Windows 10. Why Everest? Everest is written

Dec 27, 2022
Comments
  • [Lib-Tile] Rework the API for the library.

    [Lib-Tile] Rework the API for the library.

    [Lib-Tile] Rework the API for the library.

    • Use https://theamiableapi.com/2012/01/16/java-api-design-checklist/

    Lib-Tile-Core

    • com/github/naoghuman/lib/tile/core/
      • AbstractTileLoader
        • (v) Rename to TileLoader
      • DefaultTileLoader
        • (v) Rename to TileProvider
        • (v) Move checkParameterXy(...) to the new class TileValidator
      • (v) Interface Tile
      • (v) New class TileValidator
        • (v) New methods
          • (v) default validateIsNotNull(String value) throws NullPointerException
          • (v) validate(String) throws NullPointerException, IllegalArgumentException
          • (v) validate(double) throws IllegalArgumentException
      • (v) New class DefaultTileValidator
        • (v) package com.github.naoghuman.lib.tile.core.internal;

    Lib-Tile-TransparentTextures-Images

    • com/github/naoghuman/lib/tile/transparenttextures/images/
      • TransparentTexturesTileLoader implements AbstractTileLoader
        • (v) TransparentTexturesTileLoader implements TileLoader

    Lib-Tile-TransparentTextures

    • com/github/naoghuman/lib/tile/transparenttextures/
      • (v) TransparentTexturesTile implements Tile
      • (v) The parameter will be validate against DefaultTileValidator.
    enhancement 
    opened by Naoghuman 2
  • [Lib-Tile-Core] Add new classes AbstractCustomizedTile and AbstractCustomizedTileLoader.

    [Lib-Tile-Core] Add new classes AbstractCustomizedTile and AbstractCustomizedTileLoader.

    [Lib-Tile-Core] Add new classes AbstractCustomizedTile and AbstractCustomizedTileLoader.

    • The classes allowed to load customized predefined and/or own tilessets.
    • package com.github.naoghuman.lib.tile.core
    feature 
    opened by Naoghuman 2
  • [Lib-Tile-TransparentTextures-Images] Update the README.md.

    [Lib-Tile-TransparentTextures-Images] Update the README.md.

    [Lib-Tile-TransparentTextures-Images] Update the README.md. Section Intention

    • Add image to the section where the dependencies from the different libraries are explained.

    Section Examples

    • Add example code from Lib-Demo how to use the API.

    Section Api

    • (v) API to uppercase
    • (v) Wrong subheader. Instead com.github.naoghuman.lib.tile.transparenttextures.TransparentTexturesTile use com.github.naoghuman.lib.tile.transparenttextures.images.TransparentTexturesTileLoader
    documentation 
    opened by Naoghuman 0
  • [Lib-Tile-Customized-Examples] Add new library Lib-Tile-Customized-Examples.

    [Lib-Tile-Customized-Examples] Add new library Lib-Tile-Customized-Examples.

    [Lib-Tile-Customized-Examples] Add new library Lib-Tile-Customized-Examples.

    • The library Lib-Tile-Customized-Examples contains examples how to load reduced and/or mixed predefined tilesets with own tilesets.
    • The examples will then be shown/used in Lib-Tile-Demo.
    development feature 
    opened by Naoghuman 2
Releases(v0.2.0)
  • v0.2.0(Aug 13, 2017)

    Welcome to Lib-Tile with the new release 0.2.0.

    Lib-Tile is a multi Maven project written in JavaFX and NetBeans IDE and provides the functionalities to use and handle easily Tiles in your JavaFX application.

    A Tile is per definition a little transparent Image which overlay a background-color or -image with the help of repetitions from the image in a layer.

    Summary

    • This is a mayor update.
    • Rework the api from the library.
    • Add new TileValidator.
    • Add new sub-library Lib-Tile-Customized-Examples.
    • Update the documentation and JavaDoc to reflect the changes.

    Enhancement

    #18 [api] Rework api from Validator. #17 [api] Switch 'autor' and 'autorUrl' to Optional. #9 [Lib-Tile] Rework the API for the library. #4 [Documentation] Add a template for the release-notes.

    Feature

    #8 [Lib-Tile] Prepare libraries for Maven Central. #6 [Lib-Tile-Customized-Examples] Add new library Lib-Tile-Customized-Examples.

    Refactoring

    #16 [documentation] Update the JavaDoc. #15 [project] Update the project description. #13 [pom] Remove the maven-release-plugin in the build section. #11 [Lib-Tile-TransparentTextures-Images] Update the README.md. #12 [Documentation] Fix output from the README in the browser. #7 [Lib-Tile] Update the README. #5 [Lib-Tile-TransparentTextures] Rename parameters in first constructor. #2 [pom] Remove not needed dependency to to commens-lang3.

    Additional

    #10 [pom] Update dependency to maven-compiler-plugin.

    Greetings Naoghuman (Peter Rogge)

    Source code(tar.gz)
    Source code(zip)
    Lib-Tile-All-0.2.0.zip(26.21 MB)
    Lib-Tile-Core-0.2.0.zip(92.88 KB)
    Lib-Tile-Core-And-TransparentTextures-0.2.0.zip(26.17 MB)
  • v0.1.0(Aug 14, 2016)

    Welcome to Lib-Tile with the new release 0.1.0.

    The project Lib-Tile contains following subprojects which are included into this release:

    • Lib-Tile-Core
    • Lib-Tile-TransparentTextures
    • Lib-Tile-TransparentTextures-Images

    There are different zip files as download available. Plz choose the right one in dependency from your necessities:

    • Download Lib-Tile-Core-0.1.0.zip
      • Contains only the library lib-tile-core-0.1.0.jar.
      • You need to define your own AbstractTileLoader and your own Tiles images in your application.
    • Download Lib-Tile-Core-And-TransparentTextures-0.1.0.zip
      • Contains the libraries lib-tile-core-0.1.0.jar, lib-tile-transparenttextures-0.1.0.jar, lib-tile-transparenttextures-images-0.1.0.jar.
      • You can use the predefined tileset Transparent Textures in your application.

    Summary

    • With this release the new project Lib-Tile with its sub-libraries are released in version 0.1.0.

    New

    • Lib-Tile-Core
    • Lib-Tile-TransparentTextures
      • With the library Lib-Tile-TransparentTextures the developer have access to the tileset Transparent Textures from the internet page https://www.transparenttextures.com/ through the enum TransparentTexturesTile. Momentary that are 396 Tiles.
    • Lib-Tile-TransparentTextures-Images
    Source code(tar.gz)
    Source code(zip)
    Lib-Tile-Core-0.1.0.zip(4.35 KB)
    Lib-Tile-Core-And-TransparentTextures-0.1.0.zip(13.00 MB)
Owner
Peter Rogge
Peter Rogge
JavaFX 3D CSG IDE

JFXScad JavaFX 3D Printing IDE based on JCSG. How to Build JFXScad Requirements Java >= 1.8 Internet connection (dependencies are downloaded automatic

Michael Hoffer 59 Apr 18, 2022
Show git commit logs in NetBeans

gitlogbeans Description Show git commit logs in NetBeans Apache NetBeans and JDK Compatibility JDK >= 9 Apache NetBeans >= 9.0 Plugin is available at

Chrizzly 5 Jul 13, 2022
An image annotation desktop-application written in Java using the JavaFX application platform.

This is an image annotation desktop-application written in Java using the JavaFX application platform. It allows you to create bounding box annotations using rectangular and polygonal shapes. Annotations can be imported and saved from/to JSON files, Pascal VOC format XML-files or YOLO format TXT-files.

Markus Fleischhacker 31 Dec 4, 2022
Provides a Java API to use the JavaScript library d3.js with the JavaFx WebView

javafx-d3 Provides a Java API for using the JavaScript library d3.js with JavaFx Applications. Many thanks to the authors of the projects gwt-d3 [1] a

null 98 Dec 19, 2022
Nightmare-text - This is a simple lib that help to create, titles, actionbars, hovers and click actions chat components.

Nightmare text This is a simple lib that help to create, titles, actionbars, hovers and click actions chat components. Setup public final class Testin

Jonathan Narvaez 8 Mar 9, 2022
An IDE built specifically for Modding Minecraft Java Edition, containing many useful features that will be helpful for modders.

Modding-IDE An IDE built specifically for Modding Minecraft Java Edition, containing many useful features that will be helpful for modders. Trello: ht

null 11 Jul 16, 2022
An IDE built specifically for Modding Minecraft Java Edition, containing many useful features that will be helpful for modders.

Railroad IDE Railroad IDE is an IDE that is made specifically for Minecraft Development including Forge Mods, and Fabric Mods! This IDE is made to hel

null 25 Dec 8, 2022
DataFX - is a JavaFX frameworks that provides additional features to create MVC based applications in JavaFX by providing routing and a context for CDI.

What you’ve stumbled upon here is a project that intends to make retrieving, massaging, populating, viewing, and editing data in JavaFX UI controls ea

Guigarage 110 Dec 29, 2022
JDKMon - A little tool written in JavaFX that monitors your installed JDK's and inform you about updates

JDKMon JDKMon Home JDKMon is a little tool written in JavaFX that tries to detect all JDK's installed on your machine and will inform you about new up

Gerrit Grunwald 246 Jan 3, 2023
A framework for easily creating a UI for application settings / preferences.

PreferencesFX Preference dialogs for business applications made easy. Creating preference dialogs in Java has never been this easy! Table of Contents

DLSC Software & Consulting GmbH 545 Dec 22, 2022