JCheckBox en JTable

import java.awt.Component;
import javax.swing.DefaultCellEditor;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;
 
/**
 * @author leyer
 */
public class jcheckBoxJtable extends JFrame{
	
	private static final long serialVersionUID = 1L;
	class TABLE_MODEL extends DefaultTableModel{
		private static final long serialVersionUID = 1L;
		public TABLE_MODEL(){
			addColumn("A");
			addColumn("B");
			addColumn("C");
			addColumn("D");
			addColumn("F");
			addColumn("G");
			for(int index=0;index<100;index++){
			Object object6[]={new Boolean(true),"Index","Numero","Test","#",index};
			addRow(object6);
			}
		}
	}
	class CELL_RENDERER extends JCheckBox implements TableCellRenderer{
		private static final long serialVersionUID = 1L;

		public CELL_RENDERER(){
			setHorizontalAlignment(JLabel.CENTER);
		}
		@Override
		public Component getTableCellRendererComponent(JTable arg0,
				Object value, boolean arg2, boolean arg3, int arg4, int arg5) {
			setSelected((value != null && ((Boolean) value).booleanValue()));
			setBackground(arg0.getBackground());
			setHorizontalAlignment(JLabel.CENTER);
			return this;
		}
		
	}
	class CELL_EDITOR extends DefaultCellEditor{
		private static final long serialVersionUID = 1L;

		public CELL_EDITOR(JCheckBox checkBox) {
			super(checkBox);
			checkBox.setHorizontalAlignment(JLabel.CENTER);	
		}
	}
	static JTable table=null;
	
	public jcheckBoxJtable(){
		TABLE_MODEL name=new TABLE_MODEL();
	    table=new JTable(name);
		table.getColumn("A").setCellRenderer(new CELL_RENDERER());
		table.getColumn("A").setMaxWidth(130);
		table.getColumn("A").setCellEditor(new CELL_EDITOR(new JCheckBox()));
		JScrollPane jScrollPane=new JScrollPane(table);
		table.setRowSelectionAllowed(true);
		
		add(jScrollPane);
		setSize(500,500);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
	}
	public static void main(String args[]){
		SwingUtilities.invokeLater(new Runnable() {
			@Override
			public void run() {
				new jcheckBoxJtable();	
			}
		});
	}
}
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: