Como fazer um TableCellRenderer que use um checkbox e um label

1 resposta
paolobacci

Oi, estou tentando fazer um renderizador da célula que seja no canto esquerdo uma checkbox e do resto ser label. Alguém já fez isso? Eu não acho nenhum exemplo disso.

Aqui vai minha tentativa:

import java.awt.Component;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;

public class TableCheckboxRenderer implements TableCellRenderer {

  /**
   * 
   */
  private final JPanel checkPanel = new JPanel(new GridBagLayout());
  /**
   * 
   */
  private final JCheckBox checkBox = new JCheckBox();

  /**
   * 
   */
  private final JLabel label = new JLabel();

  /**
   * 
   */
  public TableCheckboxRenderer() {
    GridBagUtilities util = new GridBagUtilities(checkPanel);
    util.addRight(new Insets(0, 0, 0, 5), checkBox);
    util.addDown(new Insets(0, 0, 0, 5), label);
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public Component getTableCellRendererComponent(JTable table, Object value,
    boolean isSelected, boolean hasFocus, int row, int column) {
    String dates = ((String) value);

    Component result;
    JLabel _label;

    checkBox.setMargin(new Insets(1, 0, 1, 3));
    checkBox.setSelected(dates.length() > 0 ? true : false);

    result = checkPanel;
    _label = label;

    _label.setText(dates);

    return result;
  }
}

e nada!

abs

1 Resposta

S

Olá amigo

acho que isso pode lhe ajudar:

http://www.java2s.com/Code/Java/Swing-JFC/Tablewithtooltipsforbothcellsandcolumnheaders.htm

http://www.java2s.com/Code/Java/Swing-JFC/PropertyTableUseJTabletodisplayandeditproperties.htm

Silvio Guedes

Criado 30 de junho de 2010
Ultima resposta 1 de jul. de 2010
Respostas 1
Participantes 2