Dúvida com a classe: SimpleTableDemo

2 respostas
A

Olá Pessoal recentemente andei estudando os tutoriais em Java para aprender a trabalhar com swings:

[url]
http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

Mais especificamente o componente JTable. Consegui enteder que o mais recomendado é que se crie o seu proprio modelo de tabela, fazendo
herança com a Classe AbstractTableModel e por ela ser uma classe Abstrata que implemeta a Interface: TableModel, quem faz herança com a
AbstractTableModel tem que implementar os métodos:

public int getRowCount();

public int getColumnCount();

public Object getValueAt(int row, int column);

Para ser uma classe Concreta.

Mas a minha dúvida é a seguinte, olhando o arquivo.java:

SimpleTableDemo.java

Que consta na url acima.

Inicialmente essa declaração: private boolean DEBUG = false;

atribui false para o campo DEBUG e depois existe um if testando o valor dela, caso ele seja verdadeiro são executadas os seguintes comando:

if (DEBUG) {
            table.addMouseListener(new MouseAdapter() {
                public void mouseClicked(MouseEvent e) {
                    printDebugData(table);
                }
            });
        }

private void printDebugData(JTable table) {
        int numRows = table.getRowCount();
        int numCols = table.getColumnCount();
        javax.swing.table.TableModel model = table.getModel();

        System.out.println("Value of data: ");
        for (int i=0; i < numRows; i++) {
            System.out.print("    row " + i + ":");
            for (int j=0; j < numCols; j++) {
                System.out.print("  " + model.getValueAt(i, j));
            }
            System.out.println();
        }
        System.out.println("--------------------------");
    }

Eu não consegui interpretar, qual a finalidade desta condição testando esse campo DEBUG e não consegui enxergar uma situação em que esse campo
possa ficar com um valor: true.

Pergunto isso devido, caso eu queira montar o meu proprio modelo de tabela, eu saberei qual a importancia desse campo DEBUG

Caso alguem possa me ajudar ficarei grato!!!

2 Respostas

M

Nesse caso, o DEBUG é uma variável que define se informações de depuração serão mostradas ou não. Se ela for igual a true, aparecerá no console informações de qual célula está selecionada, o que há nela, etc.

Isso é apenas uma demostração do que é possível fazer e não precisa (nem deve) estar na sua classe para uma aplicação de verdade, entende?

A

Entendi sim obrigado!!!

Na programação é bom não ficar nenhuma dúvida.

Valeu pela atenção!!!

Criado 5 de fevereiro de 2010
Ultima resposta 6 de fev. de 2010
Respostas 2
Participantes 2