JTable MouseInputListener -> Autofill wie in Excel

Status
Nicht offen für weitere Antworten.

Joern

Mitglied
Hallo Java-Forum

Ich will ein Autofill in/auf einem JTable implementieren, wie dies in Excel möglich ist:
(Die selektierte Zelle(mit Inhalt) kann über ein kleines Symbol zu anderen benachbarten Zellen "erweitert" werden und ersetzt/überschreibt dann deren Inhalt. (z.B. Zelle 1 Selektiert, der User wählt in dieser Zelle das Autofill-Symbol durch Mouse-Click an, draggt/zieht den Mousezeiger zu der Zelle 4, wobei jetzt Zelle 1, 2, 3 und 4 ausgewählt sind (erkennbar an der Selektionsumrahmung ) und läßt dann die Mouse los(release) und danach überschreibt der Inhalt der Zelle 1 den Inhalt der Zellen 2, 3 & 4 )
Da hierfür sicherlich der MouseInputAdapter notwendig ist, der aber sicherlich auch wiederum schon in der JTable selber referenziert ist, wäre ich für weiterführende Hinweise dankbar, also z.B. über Infos wo so eine Anwendung schon mal programmiert wurde und der Sourcecode zugänglich ist, oder wo so eine Frage hier im Forum schon mal behandelt wurde oder wo ich bei der Implementation der JTable nachgucken muss, wie die von SUN die existierende MultiCellSelection implementiert haben.

Vielen Dank für jede Hilfe.

Jörn
 
Hi,

MultiSelectionMode enablen. Dieser liefert ne Liste mit den SelectedRows, die kannst du dann bearbeiten.

Grüße Oli
 
Hallo oli

Vielen Dank für deine Antwort! aber:

Der Default-MultiSelectionMode wird noch gebraucht wenn ich mehrere Zellen kopieren und wieder einfügen will.

Klar MultiSelectionMode muss "enabled" sein und dann kann ich mir auch die "selectedCells" geben lassen und die dann entsprechend überschreiben.
Ich will aber dem User schon beim Auswählen eine entsprechende visuelle Rückmeldung geben, dass er jetzt nicht nur mehrere Zellen selektiert, sondern dass er jetzt Zellen überschreiben wird.

Jörn
 
Hi,

wie soll denn diese visuelle Rückmeldung aussehen? Willst du die Zellen schon vorab beschreiben oder reicht z.B. ein ToolTip?

Grüße Oli
 
Hallo Oli

Bei Excel sieht eine selektierte Zelle so aus:

-------------------------------
| |
| |
| |
------------------------------#

Wenn ich jetzt aufs "#" klicke und z.B. 3 Zellen nach rechts bei gedrückter Maustaste gehe("dragge"), dann werden die betroffenen Zellen (1-4) solange mit einem blinkenden Rectangle-Gummiband umrandet bis ich die Maustaste loslasse. Danach erfolgt die eigentliche Autofill Funktion, die mir aber klar ist, was ich da tun muss. D.h. das eigentlcihe Problem ist der visuelle Feedback für den User, dass er jetzt eine Spezialfunktion ausgewählt hat, die eben nicht das Standard MultiSelect ist.
Anstelle auf das "#" zu klicken, wäre auch denkbar eine Alt-Taste zusätzlich zum Maus-Klick zu drücken, aber wichtiges Element ist halt ein geändertes visuelles Feedback für den User, damit er sieht das er jetzt eben nicht das einfache MultiSelect durchführt.

Jörn
 
Hallo Oli

Hier meine Nachricht von eben nochmals mit "erkennbarer"? selektierter Zelle:
(ansonsten alles gleich)

Bei Excel sieht eine selektierte Zelle so aus:

Code:
-------------------------------
|                             |
|                             |
|                             |
------------------------------#

Wenn ich jetzt aufs "#" klicke und z.B. 3 Zellen nach rechts bei gedrückter Maustaste gehe("dragge"), dann werden die betroffenen Zellen (1-4) solange mit einem blinkenden Rectangle-Gummiband umrandet bis ich die Maustaste loslasse. Danach erfolgt die eigentliche Autofill Funktion, die mir aber klar ist, was ich da tun muss. D.h. das eigentlcihe Problem ist der visuelle Feedback für den User, dass er jetzt eine Spezialfunktion ausgewählt hat, die eben nicht das Standard MultiSelect ist.
Anstelle auf das "#" zu klicken, wäre auch denkbar eine Alt-Taste zusätzlich zum Maus-Klick zu drücken, aber wichtiges Element ist halt ein geändertes visuelles Feedback für den User, damit er sieht das er jetzt eben nicht das einfache MultiSelect durchführt.

Jörn
 
Guten Morgen,

ok, jetzt hab ich es verstanden 🙂

Ich denke mal, da wird dier nichts anderes übrig bleiben als das ganze selbst zu zeichnen.

Grüße Oli
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben