java.lang.Object
fabiorodrigues.bricks.components.Card
All Implemented Interfaces:
Component

public class Card extends Object implements Component
Container com estilo visual próprio: fundo, cantos arredondados e sombra. Equivalente ao Card do Material 3 / Jetpack Compose.

Card simples:


 new Card()
     .padding(16)
     .elevation(2)
     .children(
         new Text("Título").fontSize(15),
         new Text("Conteúdo").fontSize(13)
     )
 

Card clicável:


 new Card()
     .padding(16)
     .elevation(2)
     .onClick(() -> System.out.println("card clicado"))
     .children(...)
 

Card sem sombra com cor de fundo personalizada:


 new Card()
     .elevation(0)
     .background(Color.LIGHTGRAY)
     .cornerRadius(4)
     .children(...)
 
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    background(javafx.scene.paint.Color color)
    Define a cor de fundo do card.
    backgroundGradient(javafx.scene.paint.Color from, javafx.scene.paint.Color to)
    Define um gradiente linear como fundo do card.
    backgroundGradient(javafx.scene.paint.Color from, javafx.scene.paint.Color to, double angle)
    Define um gradiente linear como fundo do card com angulo personalizado.
    children(Component... children)
    Define os componentes filhos do card.
    cornerRadius(double radius)
    Define o raio dos cantos arredondados.
    elevation(double elevation)
    Define a intensidade da sombra.
    height(double height)
    Define a altura fixa do card.
    margin(double margin)
    Define a margin uniforme em todos os lados.
    margin(double vertical, double horizontal)
    Define a margin vertical e horizontal.
    onClick(Runnable callback)
    Define um callback chamado ao clicar no card.
    padding(double padding)
    Define o espaço interno uniforme.
    javafx.scene.Node
    Converte este componente num Node JavaFX pronto a ser adicionado ao scene graph.
    width(double width)
    Define a largura fixa do card.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Card

      public Card()
  • Method Details

    • padding

      public Card padding(double padding)
      Define o espaço interno uniforme.
      Parameters:
      padding - double — valor em pixels
      Returns:
      este componente para encadeamento
    • margin

      public Card margin(double margin)
      Define a margin uniforme em todos os lados.
      Parameters:
      margin - double — valor em pixels
      Returns:
      este componente para encadeamento
    • margin

      public Card margin(double vertical, double horizontal)
      Define a margin vertical e horizontal.
      Parameters:
      vertical - double — valor em pixels aplicado em cima e em baixo
      horizontal - double — valor em pixels aplicado a esquerda e a direita
      Returns:
      este componente para encadeamento
    • elevation

      public Card elevation(double elevation)
      Define a intensidade da sombra. 0 remove a sombra completamente. Cada unidade corresponde a um raio de 4px e um offset vertical de 2px.
      Parameters:
      elevation - double — intensidade da sombra (ex: 1, 2, 4)
      Returns:
      este componente para encadeamento
    • width

      public Card width(double width)
      Define a largura fixa do card. -1 para largura automática.
      Parameters:
      width - double — largura em pixels
      Returns:
      este componente para encadeamento
    • height

      public Card height(double height)
      Define a altura fixa do card. -1 para altura automática.
      Parameters:
      height - double — altura em pixels
      Returns:
      este componente para encadeamento
    • background

      public Card background(javafx.scene.paint.Color color)
      Define a cor de fundo do card.
      Parameters:
      color - Color — cor de fundo (ex: Color.WHITE, Color.web("#f5f5f5"))
      Returns:
      este componente para encadeamento
    • backgroundGradient

      public Card backgroundGradient(javafx.scene.paint.Color from, javafx.scene.paint.Color to)
      Define um gradiente linear como fundo do card. Direcao por defeito: 135 graus (diagonal superior-esquerda para inferior-direita).
      
       new Card()
           .backgroundGradient(Color.web("#6c3483"), Color.web("#1a5276"))
           .children(...)
       
      Parameters:
      from - cor inicial do gradiente
      to - cor final do gradiente
      Returns:
      este componente para encadeamento
    • backgroundGradient

      public Card backgroundGradient(javafx.scene.paint.Color from, javafx.scene.paint.Color to, double angle)
      Define um gradiente linear como fundo do card com angulo personalizado.
      
       new Card()
           .backgroundGradient(Color.web("#6c3483"), Color.web("#1a5276"), 90)
           .children(...)
       
      Parameters:
      from - cor inicial do gradiente
      to - cor final do gradiente
      angle - angulo em graus (0 = esquerda para direita, 90 = cima para baixo, 135 = diagonal)
      Returns:
      este componente para encadeamento
    • cornerRadius

      public Card cornerRadius(double radius)
      Define o raio dos cantos arredondados.
      Parameters:
      radius - double — raio em pixels (ex: 4, 8, 12)
      Returns:
      este componente para encadeamento
    • onClick

      public Card onClick(Runnable callback)
      Define um callback chamado ao clicar no card. Quando definido, o cursor muda para mão ao passar por cima.
      Parameters:
      callback - Runnable — ação a executar ao clicar
      Returns:
      este componente para encadeamento
    • children

      public Card children(Component... children)
      Define os componentes filhos do card.
      Parameters:
      children - os componentes a mostrar dentro do card
      Returns:
      este componente para encadeamento
    • render

      public javafx.scene.Node render()
      Description copied from interface: Component
      Converte este componente num Node JavaFX pronto a ser adicionado ao scene graph.
      Specified by:
      render in interface Component
      Returns:
      o Node JavaFX correspondente a este componente