tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
919
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    mas666 mas666 ist offline Mitglied Silber
    Registriert seit
    Jul 2005
    Beiträge
    57
    Hallo zusammen,

    Ich habe eine JTable, darin befinden sich Zellen, die mit einem entsprechenden Zelleditor als JComboBoxes behandelt werden.

    Code java:
    1
    
    table.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(Constants.TYPE_COMBO));

    Wenn ich nun in eine solche Tabelle auf eine "Combo-Zelle" klicke, erscheint sofort der Dropdown.

    Gibt es eine Möglichkeit, wie ich verhindern kann, dass die ComboBox sofort herunterklappt? Ein Doppelklick fürs editieren wäre ideal, ein weiterer Klick, nachdem die entsprechende Zelle den Fokus hat, wär auch OK.

    Danke für jeden Tipp.

    Gruss
    mas
     

  2. #2
    notte notte ist offline Rookie
    Registriert seit
    Apr 2006
    Beiträge
    5
    Hallo,

    DefaultCellEditor kennt die Methode setClickCountToStart.
    Das als Startpunkt ... evt. musst du da noch selbst was implementieren ?!
     

  3. #3
    mas666 mas666 ist offline Mitglied Silber
    Registriert seit
    Jul 2005
    Beiträge
    57
    Habe diesen Faden hier ein wenig aus den Augen verloren. Trotzdem noch kurz meine Lösung:

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    
    import java.awt.event.MouseEvent;
    import java.util.EventObject;
     
    import javax.swing.DefaultCellEditor;
    import javax.swing.JComboBox;
     
    public class CustomComboBoxCellEditor extends DefaultCellEditor {
     
        public CustomComboBoxCellEditor(JComboBox obj) {
            super(obj);
        }
        
        @Override
        public boolean isCellEditable(EventObject evt) {
            if (evt instanceof MouseEvent) {
                int clickCount;
     
                // For single-click activation
                //clickCount = 1;
     
                // For double-click activation
                clickCount = 2;
     
                // For triple-click activation
                //clickCount = 3;
     
                return ((MouseEvent)evt).getClickCount() >= clickCount;
            }
            return true;
        }
    }

    Damit muss ich einen Doppelclick auf die Zelle machen, damit der Dropdown erscheint.

    Gruss
    mas
     

Ähnliche Themen

  1. JComboBox in JTable
    Von RalU im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 1
    Letzter Beitrag: 22.12.09, 16:52
  2. JComboBox-Zeilen in JTable
    Von KPMAnakha im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 02.11.09, 14:44
  3. JComboBox in JTable: Bei editieren den richtigen Eintrag anwählen
    Von mas666 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 6
    Letzter Beitrag: 16.04.09, 14:30
  4. JTable mit JComboBox und Listener, wie funktionieren sie?
    Von HaGs im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 6
    Letzter Beitrag: 11.07.07, 22:20
  5. JComboBox in JTable
    Von himbeer im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 12.01.05, 16:54

Stichworte