Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/10/2014, 14:08
LBAS
 
Fecha de Ingreso: mayo-2014
Mensajes: 10
Antigüedad: 10 años
Puntos: 0
Problema al implementar Jtable con Spinner

Buenas...
Tengo Problemas al implementar un código sobre jtable con jspinner que encontré por la red... les presento el código:
Código Java:
Ver original
  1. import javax.swing.table.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. import java.awt.*;
  5.  
  6. public class JSpinnerTableExample extends JFrame {
  7.  
  8. public JSpinnerTableExample(){
  9. super( "JSpinnerTable Example" );
  10.  
  11. SpinnerNumberModel spinnerModel1 = new SpinnerNumberModel(10.0, -500.0, 500.0, .5);
  12. SpinnerDateModel spinnerModel2 = new SpinnerDateModel();
  13.  
  14. dtm.setDataVector(new Object[][]{{ spinnerModel1, "JSpinner1" },
  15. { spinnerModel2, "JSpinner2" }},
  16. new Object[]{"JSpinner","String"});
  17.  
  18. JTable table = new JTable(dtm);
  19. table.getColumn("JSpinner").setCellRenderer(new SpinnerRenderer());
  20. table.getColumn("JSpinner").setCellEditor(new SpinnerEditor());
  21.  
  22. table.setRowHeight(20);
  23. JScrollPane scroll = new JScrollPane(table);
  24. getContentPane().add(scroll);
  25.  
  26. setSize( 400, 100 );
  27. setVisible(true);
  28. }
  29.  
  30. public static void main(String[] args) {
  31. JSpinnerTableExample frame = new JSpinnerTableExample();
  32. frame.addWindowListener(new WindowAdapter() {
  33. public void windowClosing(WindowEvent e) {
  34. System.exit(0);
  35. }
  36. });
  37. }
  38. }
  39.  
  40. class SpinnerRenderer extends JSpinner implements TableCellRenderer {
  41. public SpinnerRenderer() {
  42. setOpaque(true);
  43. }
  44.  
  45. public Component getTableCellRendererComponent(JTable table, Object value,
  46. boolean isSelected, boolean hasFocus, int row, int column) {
  47. setModel((SpinnerModel) value);
  48.  
  49. return this;
  50. }
  51. }
  52.  
  53. class SpinnerEditor extends AbstractCellEditor implements TableCellEditor {
  54. protected JSpinner spinner;
  55.  
  56. public SpinnerEditor() {
  57. spinner = new JSpinner();
  58. }
  59.  
  60. public Component getTableCellEditorComponent(JTable table, Object value,
  61. boolean isSelected, int row, int column) {
  62. spinner.setModel((SpinnerModel) value);
  63.  
  64. return spinner;
  65. }
  66.  
  67. public Object getCellEditorValue() {
  68. SpinnerModel sm = spinner.getModel();
  69. return sm;
  70. }
  71. }

aparentemente el código anda muy bien.. pero tengo problemas a la hora de cuando quiero agregar mas filas con jspinner a la hora de ejecución me salta un errores

espero su respuesta pronto gracias.!

Última edición por LBAS; 19/10/2014 a las 15:01