Tabela com Span no header

6 respostas
M

[b]Alguém sabe como criar uma tabela com span de duas colunas no header dessa tabela???


| nome | sexo_pessoa|

| JoãoG | () | Masculino|

e também se alguém sabe como colocar na mesma célula um checkbox e um text[/b]

6 Respostas

S

Você pode utilizar a propriedade colspa = 2 da tabela.

No caso do checkbox, dentro de uma tabela você deve criar um <td></td>

Dentro dele coloque um checkbox “<input type=“checkbox”>” e o texto ao lado, como no exemplo:

<tr>
<td><input type=“checkbox”>Text a ser Informado
</td>
</tr>

Espero que ajude

M

:oops: Eu gostaria que fosse em java, hehehe, eu já tenho um código:

final JTable table = new JTable(hrData, hrColumnNames){

public TableCellRenderer getCellRenderer(int row, int column) {

if (column != 0) {

return getDefaultRenderer(Boolean.class);

}

else

return super.getCellRenderer(row,column);

}
};

que já transforma todas as colunas diferente de 0 em checkbox, mas eu precisava saber como colocar texto junto com o checkbox ou fazer um span no header da tabela, que serviria também…

R

Marcio,

O JCheckbox tem um construtor que permite sua criação com texto :wink:

http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JCheckBox.html

Mas se vc descobrir como juntar as células do corpo ou do cabeçalho da tabela, poste aqui, pois eu tb estou precisando :roll:

[]'s

Robert

M

Tenho o Seguinte código que forma uma tabela com uma JCheckBox no final, mas como eu faço para trabalhar com o JCheckBox, que quando eu clico encima dele não acontece nada??

/**
 * Imports
 */
import java.awt.event.*;
import java.awt.*;

import javax.swing.*;
import javax.swing.table.*;
import javax.swing.JTable;

public class JCheckBoxInTable extends JPanel 
&#123;
    /**
     * Variáveis da Classe
     */
    private final String&#91;&#93; columnNames =
    &#123; "Nome", "SobreNome", "Idade", "Aprovado" &#125;;

    private JButton buttonSave;

    private JTable table;

    private DefaultTableModel tableModel;

    /**
     * Construtor da Classe
     */
    public JCheckBoxInTable&#40;&#41;
    &#123;
        tableModel = new DefaultTableModel&#40;columnNames, 0&#41;;

        Object&#91;&#93; data =
        &#123; new String&#40;"João"&#41;, new String&#40;"da Silva"&#41;, new Integer&#40;20&#41;, null &#125;;
        tableModel.addRow&#40;data&#41;;

        table = new JTable&#40;tableModel&#41;
        &#123;
            public TableCellRenderer getCellRenderer&#40;int row, int column&#41;
            &#123;
                if &#40;column == 3&#41;
                &#123;
                    return new TableCellRenderer&#40;&#41;
                    &#123;
                        public Component getTableCellRendererComponent&#40;
                                JTable table, Object value, boolean isSelected,
                                boolean hasFocus, int row, int column&#41;
                        &#123;

                            JCheckBox check = new JCheckBox&#40;"teste"&#41;;
                            check.setHorizontalAlignment&#40;JLabel.CENTER&#41;;
                            return check;
                            //table.getValueAt&#40;row, column&#41;
                        &#125;
                    &#125;;
                &#125; else
                &#123;
                    return super.getCellRenderer&#40;row, column&#41;;
                &#125;
            &#125;
        &#125;;

        JScrollPane scrollPane = new JScrollPane&#40;table&#41;;
        setPreferredSize&#40;new Dimension&#40;500, 250&#41;&#41;;
        add&#40;scrollPane&#41;;
        
    &#125;

    /**
     * @param args
     * 
     */
    public static void main&#40;String&#91;&#93; args&#41;
    &#123;
        JFrame frame = new JFrame&#40;"JCheckBox em uma JTable"&#41;;

        frame.getContentPane&#40;&#41;.setLayout&#40;new BorderLayout&#40;&#41;&#41;;
        
        frame.add&#40;new JCheckBoxInTable&#40;&#41;&#41;;

        WindowListener wndCloser = new WindowAdapter&#40;&#41;
        &#123;
            public void windowClosing&#40;WindowEvent e&#41;
            &#123;
                System.exit&#40;0&#41;;
            &#125;
        &#125;;

        frame.addWindowListener&#40;wndCloser&#41;;

        frame.pack&#40;&#41;;

        frame.setVisible&#40;true&#41;;
    &#125;
&#125;

Se alguém puder me ajudar. E a dúvida de mesclar duas células tanto no cabeçalho quanto no corpo da tabela continua…

M

Bem, já descobrir como fazer um tipo de span… É colocar uma tabela dentro de outra. No código acima eu coloquei um JCheckBox dentro da tabela, pois bem, é soh colocar uma JTable no lugar…

Se alguém tiver a dica de como habilitar o JCheckBox ainda estou precisando…

R

Acho que é isso que vc quer:

[]'s

Robert

Criado 8 de fevereiro de 2005
Ultima resposta 1 de mar. de 2005
Respostas 6
Participantes 3