/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.siscom.renderer;
import java.awt.Component;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Locale;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import javax.swing.table.TableCellRenderer;
/**
*
*
*/
public class NumbCellRender extends JLabel implements TableCellRenderer {
//**
//* classe para mostrar a celula com formato de moeda
//*/
private static final long serialVersionUID = 1L;
private JLabel cell = null;
private NumberFormat formatter = NumberFormat.getCurrencyInstance( new Locale("pt","BR") ); // Locale.getDefault()
private DecimalFormat df = new DecimalFormat("####.00");
private JLabel getCell() {
if (cell == null)
cell = new JLabel();
return cell;
}
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
if (value != null) {
getCell().setText( formatter.format(value) );
getCell().setHorizontalAlignment(SwingConstants.RIGHT);
} else getCell().setText("");
return getCell();
}
}
import java.awt.Component;
import java.text.NumberFormat;
import java.util.Locale;
import javax.swing.AbstractCellEditor;
import javax.swing.JFormattedTextField;
import javax.swing.JTable;
import javax.swing.table.TableCellEditor;
public class NumbCellEditor extends AbstractCellEditor implements TableCellEditor {
/**
* classe para editar a celula com formato de moeda
*/
private static final long serialVersionUID = 1L;
private JFormattedTextField moeda = null;
private NumberFormat formatter = NumberFormat.getCurrencyInstance(new Locale("pt","BR"));
private JFormattedTextField getCell() {
if (moeda == null)
moeda = new JFormattedTextField(formatter);
return moeda;
}
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
getCell().setValue(value);
return getCell();
}
public Object getCellEditorValue() {
return getCell().getValue();
}
}
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 3 >= 0
at java.util.Vector.elementAt(Vector.java:427)
at javax.swing.table.DefaultTableColumnModel.getColumn(DefaultTableColumnModel.java:277)
at br.com.siscom.view.MovimentoVenda.initComponents(MovimentoVenda.java:466)
at br.com.siscom.view.MovimentoVenda.<init>(MovimentoVenda.java:24)
at br.com.siscom.view.MovimentoVenda$1.run(MovimentoVenda.java:898)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:284)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)