Class MyTableModel extends AbstractTableModel

2 respostas
monike

Bom dia Galera!
Alguém poderia me dizer se é possível customizar o (class MyTableModel extends AbstractTableModel ) onde existe um checkbox MarcaTodos e todos são selecionados?
E selecionar dois ao mesmo tempo?

Obrigada!!!

class MyTableModel extends AbstractTableModel {
	        private String[] columnNames = {"First Name",
	                                        "Last Name",
	                                        "Sport",
	                                        "# of Years",
	                                        "Vegetarian"};
	        private Object[][] data = {
		    {"Kathy", "Smith",
		     "Snowboarding", new Integer(5), new Boolean(false)},
		    {"John", "Doe",
		     "Rowing", new Integer(3), new Boolean(true)},
		    {"Sue", "Black",
		     "Knitting", new Integer(2), new Boolean(false)},
		    {"Jane", "White",
		     "Speed reading", new Integer(20), new Boolean(true)},
		    {"Joe", "Brown",
		     "Pool", new Integer(10), new Boolean(false)}
	        };
	        
	        

	        public int getColumnCount() {
	            return columnNames.length;
	        }

	        public int getRowCount() {
	            return data.length;
	        }

	        public String getColumnName(int col) {
	            return columnNames[col];
	        }

	        public Object getValueAt(int row, int col) {
	        	printDebugData();
	            return data[row][col];
	        }


	        public Class getColumnClass(int c) {
	            return getValueAt(0, c).getClass();
	            
	        }
	        public boolean isCellEditable(int row, int col) {

	            if (col < 2) {
	                return false;
	            } else {
	                return true;
	            }
	        }

	        public void setValueAt(Object value, int row, int col) {
	            if (DEBUG) {
	                System.out.println("Setting value at " + row + "," + col
	                                   + " to " + value
	                                   + " (an instance of "
	                                   + value.getClass() + ")");
	            }

	            data[row][col] = value;
	            fireTableCellUpdated(row, col);

	            if (DEBUG) {
	                System.out.println("New value of data:");
	                printDebugData();
	            }
	        }

	        private void printDebugData() {
	            int numRows = getRowCount();
	            int numCols = getColumnCount();

	           for (int i=0; i < numRows; i++) {
	                System.out.print("    row " + i + ":");
	                for (int j=0; j < numCols; j++) {
	            //criar variavel para contagem das linhas, colunas deixar definido
	                    System.out.print("  " + data[0][2]+data[1][2]+data[2][2] );
	                }
	                System.out.println();
	            }
	            System.out.println("--------------------------");
	        }
	   }

	    /**
	     * Create the GUI and show it.  For thread safety,
	     * this method should be invoked from the
	     * event-dispatching thread.
	     */
	    private static void createAndShowGUI() {
	        //Create and set up the window.
	        JFrame frame = new JFrame("TableDemo");
	        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	        //Create and set up the content pane.
	        TableDemo newContentPane = new TableDemo();
	        newContentPane.setOpaque(true); //content panes must be opaque
	        frame.setContentPane(newContentPane);

	        //Display the window.
	        frame.pack();
	        frame.setVisible(true);
	    }

	    public static void main(String[] args) {
	        //Schedule a job for the event-dispatching thread:
	        //creating and showing this application's GUI.
	        javax.swing.SwingUtilities.invokeLater(new Runnable() {
	            public void run() {
	                createAndShowGUI();
	            }
	        });
	    }
	}

2 Respostas

S

nossa muito empenho responde isso ae

Henrique.tenorio

Add eles no seu array ObjectData.

Criado 13 de janeiro de 2011
Ultima resposta 26 de jan. de 2011
Respostas 2
Participantes 3