JComboBox in JTable: Verhalten bei editieren

mas666

Mitglied
Hallo zusammen,

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

Java:
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
 
Hallo,

DefaultCellEditor kennt die Methode setClickCountToStart.
Das als Startpunkt ... evt. musst du da noch selbst was implementieren ?!
 
Habe diesen Faden hier ein wenig aus den Augen verloren. Trotzdem noch kurz meine Lösung:

Java:
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
 

Neue Beiträge

Zurück