Foros del Web » Programación para mayores de 30 ;) » Java »

ayuda con la tabla

Estas en el tema de ayuda con la tabla en el foro de Java en Foros del Web. no se por que no funciona el JScrollPane ni me presenta las columnas solo se ven las filas. Código: package gui; import java.awt.BorderLayout; import java.awt.Container; ...
  #1 (permalink)  
Antiguo 17/08/2009, 17:31
 
Fecha de Ingreso: julio-2009
Mensajes: 3
Antigüedad: 14 años, 9 meses
Puntos: 0
ayuda con la tabla

no se por que no funciona el JScrollPane ni me presenta las columnas solo se ven las filas.

Código:
package gui;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.GregorianCalendar;

import javax.swing.DefaultCellEditor;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableColumnModel;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;

import calendario.DateChooser;

import objects.Usuario;

public class Cita extends JFrame{

	private static final long serialVersionUID = 1L;

	public Cita() {

		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setSize(150, 150);
		start();
	}
	private boolean DEBUG = false;
	
    //variables de instancia
	GregorianCalendar date = new GregorianCalendar();
	Usuario user = new Usuario();
	 DateChooser dc = new DateChooser(this, date);
	//Paneles
	private JPanel pnl1;
	private JPanel pnl2;
	private JPanel pnl3;
	//Botones
	private JButton b1;
	private JButton b2;
	//labels
	private JLabel lbl1;
	private JLabel lbl2;
	private JLabel lbl3;
	//TextFields
	private JTextField txt1;
	private JTextField txt2;
	private JTextField txt3;
	//CheckBox
	JCheckBox chk1;
	JCheckBox chk2;
	
	//Table
	 private JTable tabla1;
	JScrollPane scrollPane = new JScrollPane(tabla1);
	TableCellEditor editor;
	TableColumnModel columname = new DefaultTableColumnModel();
	
	private void start() {
		pnl1 = new JPanel();
		pnl2 = new JPanel();
		pnl3 = new JPanel();
		txt1 = new JTextField();
		txt2 = new JTextField();
		txt3 = new JTextField();
		new JTextField();
		b2 = new JButton("Fecha Cita");
		b1 = new JButton("Agregar");
		
		pnl3.setLayout(new GridLayout(10,1));
		lbl1 = new JLabel("  Nombre");
		lbl2 = new JLabel("  Apellido");
		lbl3 = new JLabel("  Telefono");
		new JLabel("  Hora/Fecha");
		MyTableModel tm = new MyTableModel();
		tabla1 = new JTable(tm);
		getContentPane().add(scrollPane, BorderLayout.CENTER);
		tabla1.setPreferredScrollableViewportSize(new Dimension(500, 70));
		tabla1.setFillsViewportHeight(true);
		//Esta Vivo VIVOOOO!!!!!
		//esto sirve para que el valor booleano se vea como una checkbox
		tabla1.getColumnModel().getColumn(4).setCellEditor(new DefaultCellEditor(chk1 = new JCheckBox()));
		tabla1.getColumnModel().getColumn(5).setCellEditor(new DefaultCellEditor(chk2 = new JCheckBox()));
		
	}
	public static void main(String[] args) {
		Cita ct = new Cita();
		ct.init();
		ct.setVisible(true);
		ct.pack();
		
	}
	
	private void init() {
		this.getContentPane().add(pnl1, BorderLayout.CENTER);
		pnl1.add(pnl2, BorderLayout.NORTH);
		pnl1.add(pnl3, BorderLayout.SOUTH);
		pnl2.setLayout(new BorderLayout());
		pnl2.add(tabla1, BorderLayout.CENTER);
		//pnl2.add(tabla1.getTableHeader(), BorderLayout.NORTH);
		pnl3.add(lbl1);
		pnl3.add(txt1);
		pnl3.add(lbl2);
		pnl3.add(txt2);
		pnl3.add(lbl3);
		pnl3.add(txt3);
		//pnl3.add(lbl4);
		//pnl3.add(txt4);
		pnl3.add(b2);
		//accion del boton mostrar fecha.
		
		b2.addActionListener(new ActionListener(){

		public void actionPerformed(ActionEvent arg0) {
		   if (dc.showDateChooser() == DateChooser.OK_OPTION) {
		        System.out.println(dc.dateSelect);
		        user.setCita(dc.dateSelect);
		       	   }
			}
		});
		
		pnl3.add(b1);
		//accion del boton agregar
		b1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				user.setNombre(txt1.getText());
		        user.setApellido(txt2.getText());
		        user.setTelefono(txt3.getText());	
		        System.out.println(user.toString());
			}
		});
	chk1.addActionListener(new ActionListener(){

		public void actionPerformed(ActionEvent e) {
		    System.out.println(chk1.isSelected());
		}});
	
	chk2.addActionListener(new ActionListener(){

		public void actionPerformed(ActionEvent e) {
		    System.out.println(chk1.isSelected());
		}});
	}
	
	
	//Abstract Table Model modelo de la trabla que sirve.
	
	private class MyTableModel extends AbstractTableModel {
		  public MyTableModel() { 
	        } 
		  
		  private String [] columns = {"Nombre", "Apellido",
					"Telefono","Fecha-Hora","Presente", "Emergencia"
					};
			private Object [][] data = {
					{"Josia", "Olivo", "Castillo", "14/07/2009", new Boolean(true),new Boolean(false)},
					{"Josue", "Olivo", "Castillo", "14/07/2009", new Boolean(false),new Boolean(true)},
					{"Josia", "Olivo", "Castillo", "14/07/2009", new Boolean(true),new Boolean(false)},
					{"Josue", "Olivo", "Castillo", "14/07/2009", new Boolean(false),new Boolean(true)},
					{"Josia", "Olivo", "Castillo", "14/07/2009", new Boolean(true),new Boolean(false)},
					{"Josue", "Olivo", "Castillo", "14/07/2009", new Boolean(false),new Boolean(true)},
					{"Josia", "Olivo", "Castillo", "14/07/2009", new Boolean(true),new Boolean(false)},
					{"Josue", "Olivo", "Castillo", "14/07/2009", new Boolean(false),new Boolean(true)},
					{"Josia", "Olivo", "Castillo", "14/07/2009", new Boolean(true),new Boolean(false)},
					{"Josue", "Olivo", "Castillo", "14/07/2009", new Boolean(false),new Boolean(true)},
					{"Josia", "Olivo", "Castillo", "14/07/2009", new Boolean(true),new Boolean(false)},
					{"Josue", "Olivo", "Castillo", "14/07/2009", new Boolean(false),new Boolean(true)},
					{"Josia", "Olivo", "Castillo", "14/07/2009", new Boolean(true),new Boolean(false)},
					{"Josue", "Olivo", "Castillo", "14/07/2009", new Boolean(false),new Boolean(true)},
					{"Josia", "Olivo", "Castillo", "14/07/2009", new Boolean(true),new Boolean(false)},
					{"Josue", "Olivo", "Castillo", "14/07/2009", new Boolean(false),new Boolean(true)},
					{"Josia", "Olivo", "Castillo", "14/07/2009", new Boolean(true),new Boolean(false)},
					{"Josue", "Olivo", "Castillo", "14/07/2009", new Boolean(false),new Boolean(true)},
					{"Josia", "Olivo", "Castillo", "14/07/2009", new Boolean(true),new Boolean(false)},
					{"Josue", "Olivo", "Castillo", "14/07/2009", new Boolean(false),new Boolean(true)},
					{"Josia", "Olivo", "Castillo", "14/07/2009", new Boolean(true),new Boolean(false)},
					{"Josue", "Olivo", "Castillo", "14/07/2009", new Boolean(false),new Boolean(true)},
					{"Josia", "Olivo", "Castillo", "14/07/2009", new Boolean(true),new Boolean(false)},
					{"Josue", "Olivo", "Castillo", "14/07/2009", new Boolean(false),new Boolean(true)},
					{"Josia", "Olivo", "Castillo", "14/07/2009", new Boolean(true),new Boolean(false)},
					{"Josue", "Olivo", "Castillo", "14/07/2009", new Boolean(false),new Boolean(true)},
					{"Josia", "Olivo", "Castillo", "14/07/2009", new Boolean(true),new Boolean(false)},
					{"Josue", "Olivo", "Castillo", "14/07/2009", new Boolean(false),new Boolean(true)},
					{"Josia", "Olivo", "Castillo", "14/07/2009", new Boolean(true),new Boolean(false)},
					{"Josue", "Olivo", "Castillo", "14/07/2009", new Boolean(false),new Boolean(true)},
					
			
			};
		  
		private static final long serialVersionUID = 1L;
		

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

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

	    public Class<? extends Object> getColumnClass(int c) {
	        return getValueAt(0, c).getClass();
	    }
	    
	    public Object getValueAt(int row, int col) {
	        return data[row][col]; 
	}
	    
        public boolean isCellEditable(int row, int col) {
            //Note that the data/cell address is constant,
            //no matter where the cell appears onscreen.
            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++) {
                    System.out.print("  " + data[i][j]);
                }
                System.out.println();
            }
            System.out.println("--------------------------");
        }
}
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:19.