You are on page 1of 3

Cdigo

Clase Principal
package Clases;

import javax.swing.*;
import javax.swing.table.TableCellRenderer;

public class Principal extends JApplet {


public void init(){
JTable table = new JTable( new ModeloTabla() );
TableCellRenderer renderer = new RenderCelda();
try
{
table.setDefaultRenderer( Class.forName( "java.lang.Integer" ), renderer );
}catch(ClassNotFoundException cnf){
cnf.printStackTrace();
}
add(new JScrollPane(table));
}

Clase ModeloTabla
package Clases;
import javax.swing.table.AbstractTableModel;
public class ModeloTabla extends AbstractTableModel
{
private final String[] columnNames = { "Meses", "Ingresos" };
final Object[][] data = {
{"Enero", new Integer(5500000) },
{"Febrero", new Integer(150000) },
{"Marzo", new Integer(25000) },
{"Abril", new Integer(-12000) },

{"Mayo",
new Integer(20000) },
{"Junio",
new Integer(7000) },
{"Julio",
new Integer(25000) },
{"Agosto", new Integer(-60000) },
{"Septiembre", new Integer(-5000) },
{"Octubre", new Integer(17000) },
{"Noviembre", new Integer(8000) },
{"Deciembre", new Integer(9000) }

};
public Class getColumnClass( int column )
{
return getValueAt(0, column).getClass();
}
public int getColumnCount()
{
return columnNames.length;
}
public String getColumnName( int column )
{
return columnNames[column];
}
public int getRowCount()
{
return data.length;
}
public Object getValueAt( int row, int column )
{
return data[row][column];
}

Clase RenderCelda
package Clases;
import java.awt.Component;
import java.awt.Color;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
public class RenderCelda extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected,boolean hasFocus, int row, int column)
{

Component cell = super.getTableCellRendererComponent(table, value,


isSelected, hasFocus, row, column);
if( value instanceof Integer )
{
Integer amount = (Integer) value;
if( amount.intValue() < 0 )
{
cell.setBackground(Color.RED);
cell.setForeground(Color.WHITE);
}
else
{
if(amount.intValue()>70000){
cell.setBackground(Color.GREEN);
cell.setForeground(Color.WHITE);
}
else{
cell.setBackground(Color.WHITE);
cell.setForeground(Color.BLACK);
}
}
}
return cell;
}
}

You might also like