Agregando un JComboBox a un JTable

import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;
/**
 * @author leyer
 */
public class JComboBoxJTable extends JFrame{
	private static final long serialVersionUID = 1L;
	protected JTable table = null;
	private JScrollPane scrollPane=null;
	private class TABLE_MODEL extends DefaultTableModel{
		public static final String INITIAL_VALUE = "DATO 1";
		private static final long serialVersionUID = 1L;
		public TABLE_MODEL(){
			this.addColumn(COLUMN1);
			this.addColumn(COLUMN2);
			this.addColumn(COLUMN3);
		}
		public static final String COLUMN1="A";
		public static final String COLUMN2="B";
		public static final String COLUMN3="C";
		public void addData(String a,String b){
			final Object rowData[]={a,b,INITIAL_VALUE};
			this.addRow(rowData);
		}
	}
	private TABLE_MODEL model=new TABLE_MODEL();
	public static final String[] DATA = { "Dato 1", "Dato 2", "Dato 3", "Dato 4" };
	public JComboBoxJTable(){
		JComboBox comboBox = new JComboBox(DATA);
		DefaultCellEditor defaultCellEditor=new DefaultCellEditor(comboBox);
		table=new JTable(model);
		table.getColumnModel().getColumn(2).setCellEditor(defaultCellEditor);
		scrollPane=new JScrollPane(table);
		this.getContentPane().add(scrollPane);
		this.setSize(500,500);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	
		addData();
	}
	public void addData(){
		model.addData("valor 1", "valor 2");
		model.addData("valor 3", "valor 4");
		model.addData("valor 5", "valor 6");
	}
	public static void main(String[] args) {
	SwingUtilities.invokeLater(new Runnable() {
		@Override
		public void run() {
		new JComboBoxJTable().setVisible(true);
			}
		});
	}
}
Anuncios

3 comentarios to “Agregando un JComboBox a un JTable”

  1. Voy a utilizar este codigo para una situación distinta!!!

  2. muchas gracias por el código, esta muy bien

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: