JTable -> ArrayIndexOutOfBoundsException bei Mausklick

Status
Nicht offen für weitere Antworten.

diabolik

Aktives Mitglied
Hallo,

ich habe Probleme mit meiner Tabelle. Wenn ich die ersten 3 Spalten anklicke, bekomme ich die Daten sauber in meine zugehörigen Textfelder übertragen. Klicke ich aber Spalte 4 oder 5 an, bekommen ich "ArrayIndexOutOfBoundsException". Ich habe mir das Tutorial schon angesehen, kann aber keinen Fehler in meiner Programmierung finden. Kann mir jemand helfen???



Hier der relevante Quellcode:

Code:
import javax.swing.JScrollPane;
import javax.swing.table.JTableHeader;
import javax.swing.table.DefaultTableModel;
import javax.swing.JTable;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

 private static JTable tabMain;
 private static DefaultTableModel defaultTableModel;
 private static JScrollPane scpMain;

tabMain = new JTable();
defaultTableModel = new DefaultTableModel();
scpMain = new JScrollPane();



// verhindern, dass Spalten vertauscht werden koennen
 JTableHeader tableHeader = tabMain.getTableHeader();
 tableHeader.setResizingAllowed(false);
 tableHeader.setReorderingAllowed(false);
        
tabMain.getSelectionModel().addListSelectionListener(new SelectionListener(tabMain));
tabMain.getColumnModel().getSelectionModel().addListSelectionListener(new SelectionListener(tabMain));
tabMain.addKeyListener(new myTabKeyListener());
        
scpMain.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scpMain.setBounds(10, 70, 470, 250);
 scpMain.setViewportView(tabMain);  




private void tabMainSelectionPerformed (ListSelectionEvent e){
        // angeklickete Zeile in Tabelle auf Textfelder uebertragen
        int row = tabMain.getSelectedRow();      
        
        if (row > -1){
            routerGroupID = tabMain.getValueAt(row,0).toString();
            txtRouterGroupName.setText(tabMain.getValueAt(row,1).toString());
            txtRouterGroupDescription.setText(tabMain.getValueAt(row,2).toString());
            butSave.setEnabled(true);
            butSave.setText("Aendern");
            butDelete.setEnabled(true);
        }        
    }
    
class SelectionListener implements ListSelectionListener {
        JTable table;       
        SelectionListener(JTable table) {
            this.table = table;
        }
        public void valueChanged(ListSelectionEvent e) { 
            if (e.getValueIsAdjusting() == true){
                tabMainSelectionPerformed(e);
           }
       }
  }
    
    private void refreshTabMain(){
	// Tabelle neu initialisieren
        String myBuffer[][] = ServerData.getServerList();        
        int to = GF.getSizeOfStringArray(myBuffer)-1;       

        // sortierte Liste holen
       String[][] buffer = Sort.sortStringDoubleColumned(myBuffer, 0, to, 1, 5, true); //eigene Sortier-Funktion
        
        int i = 0;  
        int m = to; // Groesse des Arrays buffer
        
        defaultTableModel = new DefaultTableModel(getColumns(),0){         
            boolean[] canEdit = new boolean [] {
                false, false, false
            };
            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        };
        
        tabMain.setModel(defaultTableModel);        
        tabMain.setGridColor(Color.lightGray);        
              
	// Daten in Tabelle einfuegen (Zeile fuer Zeile)
        while(i <= m){            
            String[] data = new String[]{buffer[0][i], buffer[1][i], buffer[2][i], buffer[3][i], buffer[4][i]};            
            defaultTableModel.addRow(data); 
            i++;                                
        }
        
 	// Anzahl der Listeneintraege Anzeigen
        int j = tabMain.getModel().getRowCount();        
        instance.showTableSize(j);
    }
    
    private String[] getColumns(){        
        String[] columns = new String[]{"Server-ID", "Server-IP-Adresse", "Server-Name", "Server-Prompt", 
                                                           "F.beschreibung"};       
        return columns;
    }
 

HLX

Top Contributor
diabolik hat gesagt.:
Code:
        defaultTableModel = new DefaultTableModel(getColumns(),0){         
            boolean[] canEdit = new boolean [] {
                false, false, false
            };
            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        };
Könnte daran liegen, dass das Array canEdit nur 3 Einträge hat, du jedoch mit Spalte 4 oder 5 ankommst.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
KeTho1712 Java Swing: JTable standardmäßig füllen, sodass bei Start bereits Datensätze gespeichert sind Allgemeine Java-Themen 1
H Swing JTextArea als TableCellRenderer in JTable - wie Zeilen selektieren? Allgemeine Java-Themen 47
D JTable mit JTextAreas in den Zellen Allgemeine Java-Themen 8
X Swing JTable zeigt nichts Allgemeine Java-Themen 4
G jTable aktualisieren?! Allgemeine Java-Themen 1
S JTable - mehrere ausgewählte Rows in ArrayList Allgemeine Java-Themen 5
A Fehler beim Aktualisieren JTable Allgemeine Java-Themen 1
D falsche Zeile aus JTable in MySQL gelöscht Allgemeine Java-Themen 6
offi Drag and Drop mehrerer File aus Explorer in JTable Allgemeine Java-Themen 1
V JTable Externe Lib Allgemeine Java-Themen 2
F JTable Pfeiltasten-Verhalten Allgemeine Java-Themen 1
T jTable Gestaffelte Überschriften Allgemeine Java-Themen 22
Paul15 2D Arraylist in Jtable Allgemeine Java-Themen 1
R jTable, nur Werte zwischen 2 Double values ausgeben Allgemeine Java-Themen 3
B Klassen JTable mit einer Liste Allgemeine Java-Themen 0
A JTable Bilder Allgemeine Java-Themen 1
F JTable mit Zellen die sich durch andere Eingaben füllen Allgemeine Java-Themen 1
A JTable - CellRange auslesen Allgemeine Java-Themen 2
A jTable Renderer Allgemeine Java-Themen 5
N JTable filtern Allgemeine Java-Themen 3
hdi JTable#print & Druckgröße Allgemeine Java-Themen 6
S JTable: Model durch ein anderes ersetzen Allgemeine Java-Themen 2
G JTable: ListSelectionListener removen Allgemeine Java-Themen 8
M JTable + ArrayList Allgemeine Java-Themen 3
G Aktualisierung einer JTable erfolgt nicht zuverlässig Allgemeine Java-Themen 14
E Hintergrund einer JTable änden Allgemeine Java-Themen 2
G Darstellung von Ergebnissen einer Dokumentensuche über eine JTable Allgemeine Java-Themen 19
Iron Monkey Inhalt von JTable in die Textdatei mit StringWidth schreiben Allgemeine Java-Themen 3
P jTable getSelectedRow? Allgemeine Java-Themen 2
B JTable eigene Daten Add Methode Allgemeine Java-Themen 2
B LEERE JTable MouseListener + popupmenu Allgemeine Java-Themen 2
X xml aus Zip in JTable Allgemeine Java-Themen 2
L jTable drag & drop einzelner Zeilen Allgemeine Java-Themen 4
S JTable und Spalten löschen Frage Allgemeine Java-Themen 5
H JTable per iText in PDF: Größenanpassung möglich? Allgemeine Java-Themen 2
F XML zu JTable mit JDOM Allgemeine Java-Themen 2
E JTable wird nicht angezeigt Allgemeine Java-Themen 11
Screen ImageIcon in Cell der JTable Allgemeine Java-Themen 2
G JTable mit Keylistener geht nicht Allgemeine Java-Themen 3
C Swing JTable Vector aus DB adden Allgemeine Java-Themen 3
A Swing JTable Polymorphismus Allgemeine Java-Themen 2
trash super + JTable Allgemeine Java-Themen 7
D JTable -> 1Spalte nur zahlen Allgemeine Java-Themen 2
L JTABLE setvalueat methode! Allgemeine Java-Themen 16
C Swing Daten zwischen JTable teilen Allgemeine Java-Themen 6
hdi JTable: Sortierung von Date-Objekten Allgemeine Java-Themen 4
B JTable nach Icon sortieren Allgemeine Java-Themen 6
N Exception beim auslesen einer JTable Allgemeine Java-Themen 5
M jdesktop binding: jTable update nach Änderung... Allgemeine Java-Themen 3
D JTable mit GROUP BY Allgemeine Java-Themen 23
martin82 Regex - JTable - Filter Allgemeine Java-Themen 10
X JTable mit Checkboxen -> Setzen (true/false) der Checkboxen per Mouseklick... Allgemeine Java-Themen 3
P JTable drucken Allgemeine Java-Themen 8
A JTable Feldwerte in JTextFelder mit blättern Allgemeine Java-Themen 5
DStrohma [Erledigt] Wieso kann ich Taste 'ENTER' in JTable nicht belegen? Allgemeine Java-Themen 2
M jTable Allgemeine Java-Themen 19
D jTable und TableModel Allgemeine Java-Themen 2
B Exception bei leerem JTable verhindern Allgemeine Java-Themen 10
A Observable BeansBinding an einer JTable bzw. JXTable Allgemeine Java-Themen 3
P Textfile -> Array -> JTable Allgemeine Java-Themen 9
S JTable Aktuelisieren ber Wie ? Allgemeine Java-Themen 4
MQue JComboBox in JTable Allgemeine Java-Themen 4
J Ergebnismenge eines SQL-Queries in JTable anzeigen Allgemeine Java-Themen 3
MQue JTable alles rechts Allgemeine Java-Themen 8
G Checkboxen abfragen,Auswahl sichern, JTable laden Allgemeine Java-Themen 2
G Hibernate, JTable und Performance Allgemeine Java-Themen 17
R JTable und Cell Renderer Allgemeine Java-Themen 3
M JTable: Anzahl Zeichen bei Eingabe Allgemeine Java-Themen 2
S Welche Speicherung von Daten bei Kalendarfunktion der jtable Allgemeine Java-Themen 7
J keylistener auf jtable Allgemeine Java-Themen 19
C JTable, Abstand zwischen Zellen Allgemeine Java-Themen 2
G Eindeutiges Identifizieren einer JTable/Component z.laufzeit Allgemeine Java-Themen 2
S JTable editieren + in JTextField schreiben Allgemeine Java-Themen 7
G Daten in / für JTable beim Scrollen nachladen? Allgemeine Java-Themen 5
M JTable verändert Position auf meinem JPanel Allgemeine Java-Themen 3
P JTable Allgemeine Java-Themen 2
H JTable Löschen [Alle Zeilen aufeinmal Löschen] Allgemeine Java-Themen 6
P JTable setDataVector Allgemeine Java-Themen 2
D Scrollbalken in meiner JTable auf einmal weg. Allgemeine Java-Themen 2
P JTable Allgemeine Java-Themen 8
P JButtons mit JTable verknüpfen Allgemeine Java-Themen 16
G fehler bei JTable mit JDK1.6 Allgemeine Java-Themen 4
M CheckBox in JTable - ich verzweifle gleich Allgemeine Java-Themen 2
P JTable/Vector Allgemeine Java-Themen 5
P JTable Allgemeine Java-Themen 4
E JButton bleibt in der JTable Allgemeine Java-Themen 2
E JButton in einer Zelle von JTable Allgemeine Java-Themen 16
P JTable selektierte Zeile mitwandern Allgemeine Java-Themen 2
F Checkbox in JTable , eigener Cellrenderer -wie gehts weiter? Allgemeine Java-Themen 2
P JTable suchen in einer Spalte Allgemeine Java-Themen 24
G JTable wird nicht richtig aufgebaut Allgemeine Java-Themen 9
C Ausdrucken einer JTable in eine Datei mit Erhalt des Formats Allgemeine Java-Themen 3
W Columns austauschen/verschieben von jtable Allgemeine Java-Themen 3
P 3rd party JTable libraries (freeware/opensource) Allgemeine Java-Themen 19
D JTable aus Eclipse Ok, kompeliert aber nicht Allgemeine Java-Themen 6
G mySQL und JTable Allgemeine Java-Themen 7
D JTable und Buttons Allgemeine Java-Themen 16
B JScrollPane in einer JTable aktualisieren? Allgemeine Java-Themen 9
G CheckBox in JTable Allgemeine Java-Themen 3
S JTable erzeugen und updaten Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben