2017-03-24 3 views
-3
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 
    DefaultTableModel model = (DefaultTableModel) jTable1.getModel(); 
    model.addColumn("ABC"); 
} 

bouton fonctionne mais si je clique sur la cellule nouvellement ajoutée de jtable il montre java.lang.ArrayIndexOutOfBoundsException: n // n dépend de la cellule de la colonne I cliquez si je sélectionne la cellule de 2ème colonne alors il sera 2ArrayIndexOutOfBoundsException: n

+1

CodeMessyFormattedException. Homme, vous nous demandez de l'aide. mais cela ne vous dérange pas de mettre un tel gâchis? – GhostCat

+1

Publiez un message [mcve] indiquant que le problème est votre besoin d'aide supplémentaire. J'ai posté mon 'MCVE' qui fonctionne sans aucun problème. – camickr

Répondre

0

la méthode addColumn() fonctionne bien pour moi:

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.table.*; 

public class SSCCE extends JPanel 
{ 
    SSCCE() 
    { 
     DefaultTableModel model = new DefaultTableModel(3, 5); 
     JTable table = new JTable(model); 
     JScrollPane scrollPane = new JScrollPane(table); 
     add(scrollPane); 

     model.addColumn("abc"); 
    } 

    private static void createAndShowGUI() 
    { 
     JFrame frame = new JFrame("SSCCE"); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.add(new SSCCE()); 
     frame.pack(); 
     frame.setLocationByPlatform(true); 
     frame.setVisible(true); 
    } 

    public static void main(String[] args) 
    { 
     EventQueue.invokeLater(() -> createAndShowGUI()); 
/* 
     EventQueue.invokeLater(new Runnable() 
     { 
      public void run() 
      { 
       createAndShowGUI(); 
      } 
     }); 
*/ 
    } 
} 

Poster votre code de démonstration qui illustre le problème si vous avez besoin de plus d'aide.