JTable: Einzelne Zelle selektieren

Status
Nicht offen für weitere Antworten.
J

jacquipre79

Gast
Hallo!

Ich suche nun schon seit Tagen nach einer Lösung für mein Problem. Ich habe auch schon dieses Forum "durchforstet", konnte aber noch keine passende Antwort finden. Vielleicht könnt ihr mir weiterhelfen...

Das Problem:
Ich habe eine Tabelle mit 2 Spalten und 2 Zeilen. In dieser Tabelle kann man in einer Zelle einen Text eingeben. Wenn die Enter-Taste betätigt wird, überprüfe ich den Inhalt der Zelle. Hat dieser spezielle, von mir nicht erlaubte Sonderzeichen, dann öffne ich ein kleines Dialogfenster mit einem Hinweis dazu. Schließt man das Dialogfenster wieder, soll die zuvor verwendete Tabellenzelle wieder selektiert sein und der Textcursor (Caret) soll zu sehen sein. Das bekomme ich nicht hin.

Hier mal mein Aufbau:

Mein Editor ist ein JPanel und enthält die JTable:
Code:
public class MyEditor extends javax.swing.JPanel {
...
private javax.swing.JTable innerTable; // Tabelle
private MyEditor.Model myModel = new MyEditor.Model(this); // TableModel
private MyEditor.CellRenderer myRenderer = new MyEditor.CellRenderer(this); // CellRenderer
private final MyCellEditor myEditor = new MyCellEditor(this); // CellEditor

public MyEditor() {
       ...
        initComponents();   
        this.innerTable.setDefaultRenderer(String.class, this.myRenderer);
        this.innerTable.setDefaultEditor(String.class, this.myEditor);   
        
        ...
        this.innerTable.setSurrendersFocusOnKeystroke(true);
}

private void initComponents() {
        innerTable = new javax.swing.JTable();
        ...
        innerTable.setModel(this.myModel);
        innerTable.setOpaque(false);
        innerTable.setSurrendersFocusOnKeystroke(true);
        innerTable.setVerifyInputWhenFocusTarget(false);
        innerTable.setCellEditor(myEditor);
        
        add(innerTable, java.awt.BorderLayout.CENTER);
        ...
}

Zudem hat diese Klasse noch eine setValueAt-Methode, in der ich auch die Überprüfung des Textes vornehme:
Code:
private void setPropertyValueAt(int index, int columnIndex, Object value) {
       if (!value.toString().matches("[a-zA-Z0-9_]*"))
       {
            javax.swing.JOptionPane.showConfirmDialog(null,"No special characters allowed", "Error",
        				javax.swing.JOptionPane.DEFAULT_OPTION,
        				javax.swing.JOptionPane.WARNING_MESSAGE);
           
            // ======= Hier jetzt die letzte Zelle wieder selektieren ==========
            // probiert bis jetzt:
            // this.innerTable.changeSelection(index, columnIndex, false, false); // hebt die Zelle farblich hervor, setzt aber nicht den Textcursor
            // this.innerTable.editCellAt( index, columnIndex); // ich bin in einer Endlosschleife, d.h. der Fehlerdialog erscheint ständig



        	
        }
        
        ...       
}

Es gibt auch ein eigenes Table Model innerhalb dieser Klasse:
Code:
class Model extends AbstractTableModel {
        private static final long serialVersionUID = 1L;
        MyEditor myOwner;
        
        
        private Model(MyEditor pOwner) {
            this.myOwner = pOwner;
        }
    
        public int getColumnCount() {
            return 2;
        }
        
        public int getRowCount() {
            return this.myOwner.myKeys.length;
        }
        
        public Object getValueAt(int rowIndex, int columnIndex) {
            return (columnIndex == 0 ? this.myOwner.getPropertyNameAt(rowIndex) : this.myOwner.getPropertyValueAt(rowIndex));
        }   
        
        public boolean isCellEditable(int rowIndex, int columnIndex) {
            return (columnIndex == 1);
        }
                
        public void setValueAt(Object aValue, int rowIndex, int columnIndex) {	
            this.myOwner.setPropertyValueAt(rowIndex, columnIndex, aValue);
        }        
        
        public Class<String> getColumnClass(int columnIndex) {
            return String.class;
        }
    }

Ich hoffe, das ist jetzt verständlich!

-- jacquipre
 

André Uhres

Top Contributor
Versuch mal die Fehlerbehandlung in den MyCellEditor zu verlegen, und zwar in diese Methode:
Code:
   @Override
    public boolean stopCellEditing() {
        String value = ((JTextField) getComponent()).getText();
        if (!value.matches("[a-zA-Z0-9_]*")) {
            JOptionPane.showConfirmDialog(null, "No special characters allowed", "Error",
                    JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE);
            return false;
        }
        return super.stopCellEditing();
    }

So funktioniert es bei mir:
Code:
package table;
/*
 * MyEditor.java
 */

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

public class MyEditor extends JPanel {

    private javax.swing.JTable innerTable; // Tabelle
    private MyEditor.Model myModel = new MyEditor.Model(this); // TableModel
    private MyEditor.CellRenderer myRenderer = new MyEditor.CellRenderer(this); // CellRenderer
    private final MyCellEditor myEditor = new MyCellEditor(this); // CellEditor
    private String[][] myKeys = new String[][]{{"name1", "value1"}, {"name2", "value2"}};

    public MyEditor() {
        initComponents();
        this.innerTable.setDefaultRenderer(String.class, this.myRenderer);
        this.innerTable.setDefaultEditor(String.class, this.myEditor);
        this.innerTable.setSurrendersFocusOnKeystroke(true);
    }

    private Object getPropertyNameAt(int rowIndex) {
        return myKeys[rowIndex][0];
    }

    private Object getPropertyValueAt(int rowIndex) {
        return myKeys[rowIndex][1];
    }

    private void initComponents() {
        innerTable = new JTable();
        innerTable.setModel(this.myModel);
        innerTable.setOpaque(false);
        innerTable.setSurrendersFocusOnKeystroke(true);
        innerTable.setVerifyInputWhenFocusTarget(false);
        innerTable.setCellEditor(myEditor);
        add(innerTable, java.awt.BorderLayout.CENTER);
    }

    private static class Model extends AbstractTableModel {

        private static final long serialVersionUID = 1L;
        MyEditor myOwner;

        private Model(MyEditor pOwner) {
            this.myOwner = pOwner;
        }

        @Override
        public int getColumnCount() {
            return 2;
        }

        @Override
        public int getRowCount() {
            return this.myOwner.myKeys.length;
        }

        @Override
        public Object getValueAt(int rowIndex, int columnIndex) {
            return (columnIndex == 0 ? this.myOwner.getPropertyNameAt(rowIndex) : this.myOwner.getPropertyValueAt(rowIndex));
        }

        @Override
        public boolean isCellEditable(int rowIndex, int columnIndex) {
            return (columnIndex == 1);
        }

        @Override
        public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
            this.myOwner.setPropertyValueAt(rowIndex, columnIndex, aValue);
        }

        @Override
        public Class<String> getColumnClass(int columnIndex) {
            return String.class;
        }
    }

    private void setPropertyValueAt(int index, int columnIndex, Object value) {
        myKeys[index][columnIndex] = (String) value;
    }

    private static class CellRenderer extends DefaultTableCellRenderer {

        private CellRenderer(MyEditor aThis) {
        }
    }

    public static void main(final String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                JFrame f = new JFrame("MyEditor");
                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                f.setSize(400, 300);
                f.add(new MyEditor());
                f.setVisible(true);
            }
        });
    }
}

class MyCellEditor extends DefaultCellEditor {
    private MyEditor myEditor;

    MyCellEditor(MyEditor myEditor) {
        super(new JTextField());
        this.myEditor = myEditor;
    }

    @Override
    public boolean stopCellEditing() {
        String value = ((JTextField) getComponent()).getText();
        if (!value.matches("[a-zA-Z0-9_]*")) {
            JOptionPane.showConfirmDialog(myEditor, "No special characters allowed", "Error",
                    JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE);
            return false;
        }
        return super.stopCellEditing();
    }
}
 
G

Guest

Gast
André Uhres hat gesagt.:
Versuch mal die Fehlerbehandlung in den MyCellEditor zu verlegen...
Ok, das hat bei mir geholfen. Schon mal ein DANKE an dieser Stelle.

Ein Problem hab ich aber noch. Meine Tabellenzelle besitzt neben dem Textfeld auch noch einen Button. Klickt man auf diesen Button öffnet sich ein Dialogfenster, in dem man auch einen Text eingeben kann. Dieses Fenster hat einen OK-Button, klickt man darauf, wird es geschlossen und der Wert in das Textfeld geschrieben. Nun soll auch zu diesem Zeitpunkt die Zelle selektiert und der Textcursor sichtbar sein. Das scheint so noch nicht zu funktionieren.

Hier mal der Code. In der Datei MyCellEditor.java gibt es noch eine Action ShowComplexEditorAction, die ich dem Button als Action zugewiesen habe.
Code:
...
this.moreButton.setAction(new MyCellEditor.ShowComplexEditorAction(this));
...
class ShowComplexEditorAction extends AbstractAction {
    	final MyCellEditor myOwner;
        ...
        public void actionPerformed(java.awt.event.ActionEvent e) {
            
            MyComplexPropertyEditor complexEditor = new MyComplexPropertyEditor(null, true);
            
            ...
            complexEditor.setVisible(true); // anzeigen

            if (complexEditor.getCloseOperation() == MyComplexPropertyEditor.OK) 
           {
                this.myOwner.setCellEditorValue(complexEditor.getValue());
                this.myOwner.fireEditingStopped();
            } 
            else {
                this.myOwner.fireEditingCanceled();
            } 
...
}

Das Dialogfenster (MyComplexPropertyEditor ) ist modal. Wie kann ich den Fokus wieder auf die Tabellenzelle setzen?
 

André Uhres

Top Contributor
Was passiert, wenn du beim Betätigen des OK-Buttons den editCellAt aufrufst, wie du's in setPropertyValueAt versucht hattest?
 
J

jacquipre79

Gast
Hm... da weiß ich im Moment grad gar nicht, wie ich aus meinem MyCellEditor diese Methode editCellAt aufrufen soll. Die JTable ist ja in der MyEditor-Klasse (in der auch setPropertyValueAt ist)...
 

André Uhres

Top Contributor
Am besten, du zeigst uns ein kleines lauffähiges Beispiel, wo der Fehler auftritt.
Hier ist meine Version, die scheint zu funktionieren:
Code:
package table;
/*
 * MyEditor.java
 */

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

public class MyEditor extends JPanel {

    private javax.swing.JTable innerTable; // Tabelle
    private MyEditor.Model myModel = new MyEditor.Model(this); // TableModel
    private MyEditor.CellRenderer myRenderer = new MyEditor.CellRenderer(this); // CellRenderer
    private final MyCellEditor myEditor = new MyCellEditor(this); // CellEditor
    private Object[][] myKeys = new Object[][]{{new JTextField("name1"), new MyPanel("value1")}, {new JTextField("name2"), new MyPanel("value2")}};

    public MyEditor() {
        initComponents();
        this.innerTable.setDefaultRenderer(Object.class, this.myRenderer);
        this.innerTable.setDefaultEditor(Object.class, this.myEditor);
        this.innerTable.setSurrendersFocusOnKeystroke(true);
        this.innerTable.setRowHeight(22);
    }

    private Object getPropertyNameAt(int rowIndex) {
        return myKeys[rowIndex][0];
    }

    private Object getPropertyValueAt(int rowIndex) {
        return myKeys[rowIndex][1];
    }

    private void initComponents() {
        innerTable = new JTable();
        innerTable.setModel(this.myModel);
        innerTable.setOpaque(false);
        innerTable.setSurrendersFocusOnKeystroke(true);
        innerTable.setVerifyInputWhenFocusTarget(false);
        innerTable.setCellEditor(myEditor);
        add(innerTable, java.awt.BorderLayout.CENTER);
    }

    private static class Model extends AbstractTableModel {

        private static final long serialVersionUID = 1L;
        MyEditor myOwner;

        private Model(MyEditor pOwner) {
            this.myOwner = pOwner;
        }

        @Override
        public int getColumnCount() {
            return 2;
        }

        @Override
        public int getRowCount() {
            return this.myOwner.myKeys.length;
        }

        @Override
        public Object getValueAt(int rowIndex, int columnIndex) {
            return (columnIndex == 0 ? this.myOwner.getPropertyNameAt(rowIndex) : this.myOwner.getPropertyValueAt(rowIndex));
        }

        @Override
        public boolean isCellEditable(int rowIndex, int columnIndex) {
            return (columnIndex == 1);
        }

        @Override
        public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
            this.myOwner.setPropertyValueAt(rowIndex, columnIndex, aValue);
        }

        @Override
        public Class<String> getColumnClass(int columnIndex) {
            return String.class;
        }
    }

    private void setPropertyValueAt(int index, int columnIndex, Object value) {
        myKeys[index][columnIndex] = value;
    }

    class CellRenderer implements TableCellRenderer {

        private MyEditor myEditor;

        private CellRenderer(MyEditor myEditor) {
            this.myEditor = myEditor;
        }

        @Override
        public Component getTableCellRendererComponent(final JTable table, final Object value, final boolean isSelected, final boolean hasFocus, final int row, final int column) {
            return (JComponent) value;
        }
    }

    public static void main(final String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                JFrame f = new JFrame("MyEditor");
                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                f.setSize(400, 300);
                f.add(new MyEditor());
                f.setVisible(true);
            }
        });
    }
}

class MyCellEditor implements TableCellEditor, Serializable {

    private MyEditor myEditor;
    protected EventListenerList listenerList = new EventListenerList();
    protected transient ChangeEvent changeEvent = null;
    protected JComponent editorComponent = null;

    MyCellEditor(MyEditor myEditor) {
        this.myEditor = myEditor;
    }

    public Component getComponent() {
        return editorComponent;
    }
    /* implement CellEditor:
    getCellEditorValue 
    isCellEditable 
    shouldSelectCell 
    stopCellEditing
    cancelCellEditing 
    addCellEditorListener 
    removeCellEditorListener
     */

    @Override
    public Object getCellEditorValue() {
        return editorComponent;
    }

    @Override
    public boolean isCellEditable(final EventObject anEvent) {
        return true;
    }

    @Override
    public boolean shouldSelectCell(final EventObject anEvent) {
        if (editorComponent != null && anEvent instanceof MouseEvent && ((MouseEvent) anEvent).getID() == MouseEvent.MOUSE_PRESSED) {
            Component dispatchComponent = SwingUtilities.getDeepestComponentAt(editorComponent, 3, 3);
            MouseEvent e = (MouseEvent) anEvent;
            MouseEvent e2 = new MouseEvent(dispatchComponent, MouseEvent.MOUSE_RELEASED, e.getWhen() + 100000, e.getModifiers(), 3, 3, e.getClickCount(), e.isPopupTrigger());
            dispatchComponent.dispatchEvent(e2);
            e2 = new MouseEvent(dispatchComponent, MouseEvent.MOUSE_CLICKED, e.getWhen() + 100001, e.getModifiers(), 3, 3, 1, e.isPopupTrigger());
            dispatchComponent.dispatchEvent(e2);
        }
        return true;
    }

    @Override
    public boolean stopCellEditing() {
        if(getComponent() == null) {
            return true;
        }
        final JTextField tf = (JTextField)((MyPanel) getComponent()).getComponent(0);
        String value = tf.getText();
        if
         (!value.matches("[a-zA-Z0-9_]*")) {
            JOptionPane.showConfirmDialog(myEditor, "No special characters allowed", "Error",
                    JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE);
            SwingUtilities.invokeLater(new Runnable() {

                @Override
                public void run() {
                    tf.requestFocusInWindow();
                }
            });
            
            return false;
        }
        fireEditingStopped();
        return true;
    }

    @Override
    public void cancelCellEditing() {
        fireEditingCanceled();
    }

    @Override
    public void addCellEditorListener(final CellEditorListener l) {
        listenerList.add(CellEditorListener.class, l);
    }

    @Override
    public void removeCellEditorListener(final CellEditorListener l) {
        listenerList.remove(CellEditorListener.class, l);
    }

    protected void fireEditingStopped() {//used in stopCellEditing
        Object[] listeners = listenerList.getListenerList();
        // Process the listeners last to first, notifying
        // those that are interested in this event
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == CellEditorListener.class) {
                // Lazily create the event:
                if (changeEvent == null) {
                    changeEvent = new ChangeEvent(this);
                }
                ((CellEditorListener) listeners[i + 1]).editingStopped(changeEvent);
            }
        }
    }

    protected void fireEditingCanceled() {//used in cancelCellEditing
        // Guaranteed to return a non-null array
        Object[] listeners = listenerList.getListenerList();
        // Process the listeners last to first, notifying
        // those that are interested in this event
        for (int i = listeners.length - 2; i >= 0; i -= 2) {
            if (listeners[i] == CellEditorListener.class) {
                // Lazily create the event:
                if (changeEvent == null) {
                    changeEvent = new ChangeEvent(this);
                }
                ((CellEditorListener) listeners[i + 1]).editingCanceled(changeEvent);
            }
        }
    }

// implement TableCellEditor:
    @Override
    public Component getTableCellEditorComponent(final JTable table, final Object value, final boolean isSelected, final int row, final int column) {
        editorComponent = (JComponent) value;
        return editorComponent;
    }
}

class MyPanel extends JPanel {

    public MyPanel(final String value) {
        setLayout(new BorderLayout());
        final JTextField tf = new JTextField(value);
        final JButton text = new JButton("...");
        text.setPreferredSize(new Dimension(20, 20));
        text.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(final ActionEvent e) {
                String desc = JOptionPane.showInputDialog(text, "Type value");
                tf.setText(desc);
                tf.requestFocusInWindow();
            }
        });
        add(tf, BorderLayout.CENTER);
        add(text, BorderLayout.EAST);
    }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
HoT Einzelne Zelle in JTable Rahmen unten setzen AWT, Swing, JavaFX & SWT 24
B Swing Einzelne Zelle in JTable soll NICHT auswählbar sein AWT, Swing, JavaFX & SWT 9
T einzelne Zelle einer JTable auswählen und Hintergrundfarbe ändern AWT, Swing, JavaFX & SWT 2
VfL_Freak Swing Einzelne Zeile in jTable selektieren klappt nicht AWT, Swing, JavaFX & SWT 7
S Swing JTable - Einzelne Rows einfärben AWT, Swing, JavaFX & SWT 11
R einzelne Zeichen in jTable einlesen AWT, Swing, JavaFX & SWT 10
V JTable: Zugriff auf einzelne Zellen AWT, Swing, JavaFX & SWT 4
K Swing JTable Editierfunktion für einzelne Zellen ausschalten AWT, Swing, JavaFX & SWT 3
S Einzelne JComboBox in JTable austauschen AWT, Swing, JavaFX & SWT 4
M JTable einzelne Zeilen färben AWT, Swing, JavaFX & SWT 2
T JTable - Einzelne Spalte nicht sortieren? AWT, Swing, JavaFX & SWT 2
R JTable einzelne Zellen selektieren AWT, Swing, JavaFX & SWT 7
E JTable einzelne reihe editierbar machen AWT, Swing, JavaFX & SWT 2
I einzelne Zellen bei JTable markieren AWT, Swing, JavaFX & SWT 3
C JTable: Einzelne Spalten nicht editierbar machen AWT, Swing, JavaFX & SWT 2
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
S HPRO und UPRO gemeinsame JTABLE gemeinsamer RENDERER ? AWT, Swing, JavaFX & SWT 1
F Swing JTable - MultiHeader inkl. Eingabemöglichkeit AWT, Swing, JavaFX & SWT 1
S JTable - Feldinhalte anzeigen AWT, Swing, JavaFX & SWT 15
D Swing JTable Spaltenbreite AWT, Swing, JavaFX & SWT 1
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G jTable - getSelectedRow() AWT, Swing, JavaFX & SWT 3
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
D Tastaturabfragen CTRL+t, CTRL+E bei eine JTable, bestehend aus JTextAteas AWT, Swing, JavaFX & SWT 4
P Checkboxes in JTable nicht editable AWT, Swing, JavaFX & SWT 9
F Best-Practise: JTable Text in Zelle zu groß AWT, Swing, JavaFX & SWT 2
izoards JTable in CSV File schreiben... AWT, Swing, JavaFX & SWT 23
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
I JTable, DefaultTableModel, zwei Zahlen multiplizieren. AWT, Swing, JavaFX & SWT 26
M JTABLE / wie oft wurde gewürfelt. AWT, Swing, JavaFX & SWT 1
F JTable vergrößern AWT, Swing, JavaFX & SWT 2
H JTable: Diverse NullPointer-Exceptions zur Laufzeit AWT, Swing, JavaFX & SWT 3
J Swing Werte des JTable werden nicht angezeigt AWT, Swing, JavaFX & SWT 9
T Swing JTable cellRenderer mit jpg Hintergrundfarbe lässt sich nicht ändern. AWT, Swing, JavaFX & SWT 1
B JTable Zellen zusammenfügen AWT, Swing, JavaFX & SWT 3
M Swing Cell Renderer für Zeilenumbruch in JTable AWT, Swing, JavaFX & SWT 0
H JTable im JSplitPane darstellen AWT, Swing, JavaFX & SWT 2
MadMax2506 Swing JTable lädt sehr lange AWT, Swing, JavaFX & SWT 1
D Zeilenumbruch in einer JTable AWT, Swing, JavaFX & SWT 9
R Swing JTable und Spaltenausrichtung AWT, Swing, JavaFX & SWT 8
G JTable füllen AWT, Swing, JavaFX & SWT 1
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
J Datensatz in jTable ausgeben AWT, Swing, JavaFX & SWT 3
M Swing Automatischer Editorstart in JTable-Zelle AWT, Swing, JavaFX & SWT 5
ralfb1105 Swing JTable aktualisieren AWT, Swing, JavaFX & SWT 5
adiko01 JTable: Nur markierte Zeilen aus der Tabelle in CSV exportiern AWT, Swing, JavaFX & SWT 9
M JTable.setDefaultRenderer(...) greift nicht AWT, Swing, JavaFX & SWT 0
J JTable: Eingabe in Tabellenzelle korrigieren AWT, Swing, JavaFX & SWT 4
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
D JTable nach INSERT aktualisieren /refreshen AWT, Swing, JavaFX & SWT 1
D MySQL Daten in JTable anzeigen AWT, Swing, JavaFX & SWT 2
H Swing Jtable extra spalte AWT, Swing, JavaFX & SWT 6
S Swing Rechteck über JTable zeichnen (per MouseListener) AWT, Swing, JavaFX & SWT 1
S Swing Mal wieder JTable Ansicht aktualisieren AWT, Swing, JavaFX & SWT 10
A JTable mit Daten füllen AWT, Swing, JavaFX & SWT 1
N AWT jTable CellRenderer AWT, Swing, JavaFX & SWT 6
T Swing JTable valueChanged datensatz löschen AWT, Swing, JavaFX & SWT 1
0 Swing JTable aus anderer Klasse updaten AWT, Swing, JavaFX & SWT 5
S Jtable defaultRenderer wohin damit ? AWT, Swing, JavaFX & SWT 23
T Swing JTable / FocusListener AWT, Swing, JavaFX & SWT 0
it_is_all Warum wird die JTable im JDialog nicht angezeigt? AWT, Swing, JavaFX & SWT 1
L Swing JTable im Panel darstellen AWT, Swing, JavaFX & SWT 8
T Swing Double Click bei Buttons in JTable AWT, Swing, JavaFX & SWT 9
J addRow bei JTable AWT, Swing, JavaFX & SWT 6
M Jtable gibt -1 wert bei selectedRow und Column AWT, Swing, JavaFX & SWT 3
Meeresgott Swing JTable AWT, Swing, JavaFX & SWT 4
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
C Swing Daten in JTable wiedergeben per TableModel und MVC Pattern AWT, Swing, JavaFX & SWT 16
Z Swing Drag&Drop zwischen JTable und JTree AWT, Swing, JavaFX & SWT 4
Thallius JTable dynamisch Spaltenanzahl verändern AWT, Swing, JavaFX & SWT 2
Thallius JTable dynamisch laden? AWT, Swing, JavaFX & SWT 2
B Swing JTable sortieren AWT, Swing, JavaFX & SWT 2
T Swing JTable auslesen und befüllen AWT, Swing, JavaFX & SWT 8
B JTable wird nicht angezeigt AWT, Swing, JavaFX & SWT 1
J JTable und Suchlogik AWT, Swing, JavaFX & SWT 4
Viktim Swing JTable mit Tab verlassen AWT, Swing, JavaFX & SWT 1
F Swing Spaltenbreite einer Column eines JTable auslesen AWT, Swing, JavaFX & SWT 5
Viktim Swing JTable Mit Tab druch Zeilen Wechseln AWT, Swing, JavaFX & SWT 5
Thallius Warum refrehsed mein JTable nicht? AWT, Swing, JavaFX & SWT 5
Ghostman1711 Hinzufügen ausgewählter Dateinen des Filechoosers zu einem JTable AWT, Swing, JavaFX & SWT 9
M Wert einer Zelle aus JTable ziehen AWT, Swing, JavaFX & SWT 4
K JTable getValueAt() klappt nicht immer AWT, Swing, JavaFX & SWT 1
K JTable in extra Klasse, Zugriff in einer anderen klasse nicht möglich AWT, Swing, JavaFX & SWT 26
B Swing Tabelle(JTable) filtern swing GUI AWT, Swing, JavaFX & SWT 3
P JTable - bei Eingabe Selektion AWT, Swing, JavaFX & SWT 0
P Fokus auf Zelle in JTable AWT, Swing, JavaFX & SWT 1
S Swing Deselektion in JTable verhindern AWT, Swing, JavaFX & SWT 0
D Problem mit JTable AWT, Swing, JavaFX & SWT 1
N Swing Print JTable mit AbstractTableModel AWT, Swing, JavaFX & SWT 1
Ananaskirsche Swing jTable Reihen zuviel eingefügt AWT, Swing, JavaFX & SWT 12
P im JTable die Schriftfarbe ändern AWT, Swing, JavaFX & SWT 19
T Swing JTable wird nicht angezeigt AWT, Swing, JavaFX & SWT 4
S Dreiecke in bestimmte Zellen einer JTable AWT, Swing, JavaFX & SWT 9
LexeB4F Zelle in JTable gezielt einfärben AWT, Swing, JavaFX & SWT 4
LexeB4F JTable mehrere Zelle selektieren und inhalte Löschen.. Ideen gesucht AWT, Swing, JavaFX & SWT 1
D Swing JTable Renderer Grafikfehler AWT, Swing, JavaFX & SWT 0
K Swing JTable mit ImageIcon und Text in einer Zelle AWT, Swing, JavaFX & SWT 1
M Swing JTable GroupableHeader Background Color AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben