Giter Site home page Giter Site logo

flamingo's Introduction

Flamingo - advanced components for modern Swing applications

Resizable icons

The ResizableIcon extends the core Icon interface to allow scaling the icon visuals at runtime. This is especially relevant for controls that can be dynamically resized. This class is used extensively in Flamingo for such controls as ribbon buttons or file viewer panel, but can be used in core and third-party components as well.

The core library provides helper classes to expose a variety of image formats as ResizableIcons, including SVG, SVGZ, ICO and all ImageIO-supported formats. Additional helper classes allow decorating, filtering and layering icons to create more advanced functionality.

Want to learn more? Browse the following packages:

  • org.pushingpixels.flamingo.common.icon
  • org.pushingpixels.flamingo.svg

Breadcrumb bar

BreadcrumbBar facilitates quick navigation of multi-level hierarchies, such as file systems or XML documents. This functionality is commonly found in many web sites and is the main navigation tool in the Windows Explorer application.

The core library provides helper classes to expose a variety of navigation sources as breadcrumb bars, such as local and remote file systems, SVN repositories and tree models.

Want to learn more? Browse the following packages:

  • org.pushingpixels.flamingo.bcb
  • org.pushingpixels.flamingo.bcb.core

Command buttons

The JCommandButton and JCommandToggleButton provide a broad spectrum of functionality expected from modern UI button components. A short list of features available in Flamingo command buttons includes:

  • Dynamic resizing, including scaling icons and text flow.
  • Support for popup buttons and split buttons.
  • Richer popup contents.
  • Auto-repeat mode for invoking the associated actions as long as the button is pressed.
  • Action-on-rollover mode for invoking the associated actions (one-time or auto-repeat) on rollover.

Want to learn more? Browse the test applications in the test.common package.

Command button strips and panels

JCommandButtonStrip allows hosting a number of command buttons in a single row or column, providing continuous visuals for the buttons.

JCommandButtonPanel allows hosting a number of command buttons in either row-fill or column-fill grid. Notable features include:

  • Button grouping with associated titles
  • Single selection mode when hosting toggle command buttons
  • Central change of icon size for all hosted buttons

AbstractFileViewPanel extends the JCommandButtonPanel functionality, targetting file browser applications. Notable additional features include:

  • Filtering for visibility
  • Progress tracking and load cancellation
  • API integration with the breadcrumb bar component

Ribbon

JRibbon provides the functionality of Microsoft Office 2007 Command Bar. A short list of features includes:

  • Ribbon tasks and ribbon task bands.
  • In-ribbon galleries.
  • Contextual ribbon task groups.
  • Taskbar components.
  • Dynamic adaptive resizing.

Want to learn more? Browse the org.pushingpixels.flamingo.ribbon package.

flamingo's People

Contributors

kirill-grouchnikov avatar ivanrf avatar

Watchers

Anu Prakash avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.