Wie funktioniert das Feedback eines Klicks auf eine Java GUI

prototype0815

Aktives Mitglied
hey folks,

ich glaube das hier ist wirklich was für die Profis unter euch, ich bin damit total überfragt und habe keine Ahnung in welche Himmelsrichtung ich anfangen soll zu suchen.

Ich habe ein Java Applet das über einen Touchscreen bedient wird, da kommt es hin und wieder vor das man die kleinen Buttons nicht immer ganz trifft mit den dicken Wurstfingern :toll: das kennt sicher jeder von euch...

Buttons vergößern wäre unfug weil die Optik nicht darunter leiden soll.

Jetzt gestaltet sich mein Gedankweg in die Richtung, was passiert eigentlich genau nach einem Klick auf den Screen? was nimmt die geklickten Koordinaten auf und woher weiss es welchem Objekt es diese übergeben muss bzw. sagen muss das es geklickt wurde. Diese Aktion geschieht im Prinzip andauernd, bei Tabs, Buttons, Textfelder, ....usw.

Es passiert zum Beispiel auch bei Tooltip Texten, ohne das man klicken muss. "hover" ich ein Objekt springt sofort der Countdown für den Tooltip an.

Mein Ziel ist es die Koordinaten eines Klicks bzw. der aktuellen Mausposition heraus zu bekommen und dem am nächst gelegenen Objekt (im Umkreis von 5 Pixel evtl.) zu sagen "hey du wurdest angeklickt".

Ich hoffe ich konnte es deutlich genug ausdrücken, falls nicht bitte nachfragen.

LG proto
 

prototype0815

Aktives Mitglied
also zum Ziel bin ich damit nicht gekommen. Aber vielen Dank.

Eine weitere Idee die sich mir aufgetan hat ist, das man vielleicht am LightweightDispatcher in den Methoden retargetMouseEvent() oder processMouseEvent() etwas erreichen könnte. Denn soweit ich es verstanden habe nimmt der LightweightDispatcher die Foki an die durch die Maus entstehen (Hover oder Klick).

Zitat:
- The focused component is redundantly stored in both the Window and the
LightweightDispatcher (one of these per heavy weight component).

- When a lightweight component requests the focus, this request is
propagated to the nearest LightweightDispatcher above the lightweight
component via Container.proxyRequestFocus().


Vielleicht kennt sich ja einer von euch damit aus, um es nochmal zu verdeutlichen, ich möchte gerne die "hit area" oder "clickable area" meiner Buttons, TextFields, ComboBoxes,.... vergrößern. Ohne die size() der Objekte zu verändern. Damit man disese mit dem Finger auf einem Touchscreen besser trifft.

LG
 

Thallius

Top Contributor
Warum änderst du nicht das Button Layout so das es einen transparent Bereich um den Knopf herum hat. Das ist deutlich einfacher

Gruß

Claus
 

prototype0815

Aktives Mitglied
Ich brauche diese Lösung ja leider für sämtliche Elemente die man anklicken/auswählen kann. Aber es wäre ein Anfang, ich habe versucht einen emptyBorder um die Buttons herum zu plazieren aber dieser hat die size() meiner Buttons verändert.

Welche Art schwebt dir denn vor?
 

Thallius

Top Contributor
Ich weiß ja nicht wie deine buttons aussehen. Ich dachte du machst einfach einen ImageButton dessen Image eben einen Transparent Bereich um den eigentlich Button herum hat. Natürlich werden die Buttons dann größer aber man sieht es eben nicht.
 

prototype0815

Aktives Mitglied
Die Idee mit dem ImageButton ist mir auch schon gekommen, aber wie soll ich dann einen Transparenten Bereich drum herum machen? Könnte es funktionieren wenn das Image das ich auf den Button lege einen Rahmen mit alpha-Kanal (transparenz) hat? Aber wie bekomme ich dann die verschiedenen Texte auf die Buttons?
 

Thallius

Top Contributor
Ja genau Du nimmst einfach ein PNG Image mit Alpha-Kanal. Was Di mit Texten meinst ist mir nicht klar. Die kannst Du doch mit in das Image malen oder nicht?
 

Ruzmanz

Top Contributor
Aus der Diskussion kann ich leider nicht entnehmen, welche Technologie (AWT, SWT, JavaFX) verwendet wird. Wäre zumindest einfacher eine Lösung zu finden. In AWT und JavaFX bin ich öfters über Methoden gestolpert, welche UI-Elemente unter Angabe der Koordinaten lokalisieren.

Zu deiner Lösung: 100% transparente Bereiche werden i.d.R. ignoriert. Somit solltest den zusätzlichen Bereich nur 99% transparent machen. Evtl. war das auch der Fehler mit dem Border, wobei ich das nicht ausprobiert habe und damit nicht sagen kann, ob es prinzipell funktionieren würde.
 

rwolf

Bekanntes Mitglied
in Swing kann man doch ein JPanel mit GridLayout erstellen,
HGap und VGap entsprechend setzen, und darein die JButtons "pflanzen"
Außerdem kann man bei den JButtons noch mit setMargin
den Abstand zwischen Schrift und Button-Rand setzen.
Damit sind doch viele Gestaltungen möglich..

Auch bei JTable kann man was "für die Finger tun",also den Abstand zwischen Schrift und Grid vergrößern :
google mal nach BoardTableCellRenderer
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
M Apache Proxy Weiterleitung auf Tomcat funktioniert nicht wie gewünscht Allgemeine Java-Themen 1
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
ERlK JDA Code funktioniert nicht? Allgemeine Java-Themen 4
B HeapSort für Array of Strings funktioniert nur teilweise Allgemeine Java-Themen 3
stormyark TikTakToe funktioniert nicht Allgemeine Java-Themen 10
T Remove bei ArrayList funktioniert nicht Allgemeine Java-Themen 2
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
boschl2000 Springerproblem-Implementierung funktioniert nicht richtig Allgemeine Java-Themen 1
F Getter Methode aufrufen funktioniert nicht Allgemeine Java-Themen 1
N Regulärer Ausdruck funktioniert nicht Allgemeine Java-Themen 6
Lukas2904 Wie funktioniert ein KeyLogger? Allgemeine Java-Themen 3
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
1Raini Java if-Abfrage funktioniert nicht! Allgemeine Java-Themen 3
Killunox MaxHeap Zuweisung unter Linux funktioniert nicht Allgemeine Java-Themen 1
I Wieso funktioniert das nich? Allgemeine Java-Themen 5
Dann07 MP3 Datei abspielen funktioniert nicht Allgemeine Java-Themen 6
O Aus JAR-Datei erstellte EXE-Datei funktioniert nicht Allgemeine Java-Themen 10
A Mp3 Player funktioniert nicht Allgemeine Java-Themen 0
X JNA funktioniert nicht mehr Allgemeine Java-Themen 4
bueseb84 FolderWatcher mit WatchService funktioniert nur bedingt Allgemeine Java-Themen 5
Drachenbauer Division mit Int funktioniert nicht Allgemeine Java-Themen 3
O docx-Datei erzeugung mit DocXStamper funktioniert nicht Allgemeine Java-Themen 2
F Schleife funktioniert nicht richtig Allgemeine Java-Themen 13
T Split() Methode funktioniert nicht?! Allgemeine Java-Themen 11
L Tesseract-OCR 4.0 unter Linux funktioniert nicht Allgemeine Java-Themen 3
J Wie konkret funktioniert das Modulsystem unter Java 11? Allgemeine Java-Themen 4
J Neuronales Netz funktioniert mal und mal nicht. Allgemeine Java-Themen 3
T Umlaute in Eclipse einlesen funktioniert nicht Allgemeine Java-Themen 16
A Methodenaufruf funktioniert nicht richtig Allgemeine Java-Themen 5
C WindowBuilder Design funktioniert nicht Allgemeine Java-Themen 0
J FTPSClient funktioniert nicht Allgemeine Java-Themen 4
H IDEA IntelliJ Java Mail funktioniert nach Export nicht mehr! Allgemeine Java-Themen 1
M Operatoren Warum funktioniert diese überprüfung nicht? Allgemeine Java-Themen 7
R jar-Datei funktioniert nicht Allgemeine Java-Themen 2
E Open Declaration Funktioniert nicht Allgemeine Java-Themen 0
R Verschlüsselung funktioniert nicht Allgemeine Java-Themen 5
RalleYTN requires transitive funktioniert nicht? Allgemeine Java-Themen 7
R Bruteforce hashes mit multithreading. Funktioniert das so? Allgemeine Java-Themen 0
P Best Practice Wieso funktioniert der Modulo - Operator nicht? Allgemeine Java-Themen 2
HarleyDavidson Eigener PropertyChangeListener funktioniert einfach nicht Allgemeine Java-Themen 3
J Exclude funktioniert nicht Allgemeine Java-Themen 2
K .jar funktioniert nicht vollständig Allgemeine Java-Themen 1
P Java https proxy (-Dhttps.proxyHost) Start-Parameter funktioniert nicht? Allgemeine Java-Themen 2
L Auswertung eines Testes funktioniert nicht Allgemeine Java-Themen 37
O Fahrenheit/Celsius Converter funktioniert nicht Allgemeine Java-Themen 2
M Serialisierung funktioniert nicht Allgemeine Java-Themen 9
D Collections.sort funktioniert nicht in exportierten .class Dateien Allgemeine Java-Themen 10
J Arrays auf gleichheit untersuchen funktioniert nicht Allgemeine Java-Themen 11
P GUI: ArrayList anzeigen funktioniert nicht Allgemeine Java-Themen 5
H Timer funktioniert nicht? Allgemeine Java-Themen 3
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
O Mein JButton Array funktioniert nicht Allgemeine Java-Themen 3
R Erste Schritte Object reference funktioniert nicht. Wie mach ichs richtig? Allgemeine Java-Themen 3
J If Abfrage funktioniert nicht Allgemeine Java-Themen 4
R Objekt funktioniert nicht auf iOS Allgemeine Java-Themen 15
U PersistenceManager.createEntityManager funktioniert nicht Allgemeine Java-Themen 3
D Java Datei nach Eclipse Export funktioniert nicht Allgemeine Java-Themen 0
M Eigene forEach()-Methode funktioniert nicht. Allgemeine Java-Themen 2
H File.listFiles() funktioniert nicht... Allgemeine Java-Themen 10
JG12111989 Auswertung von Fragebogen funktioniert nicht! Allgemeine Java-Themen 7
M Primzahlberechnung funktioniert nicht. Allgemeine Java-Themen 4
A JFreeChart funktioniert nicht :( Allgemeine Java-Themen 6
C file.delete() funktioniert bei zweiten aufruf nicht mehr Allgemeine Java-Themen 3
F Datei einlesen funktioniert nicht Allgemeine Java-Themen 3
A Debugger im Java-Editor funktioniert nicht Allgemeine Java-Themen 5
B DB-Zugriff einer Webanwendung funktioniert nicht mit Java 7 Allgemeine Java-Themen 2
B Web-Anwendung funktioniert mit Java 1.8, aber nicht mit Java 1.7 (auf Client) Allgemeine Java-Themen 5
J Swing Cursor.WAIT funktioniert nicht nach JFileChooser Allgemeine Java-Themen 1
F JTextField funktioniert nicht Allgemeine Java-Themen 6
Athena Programm funktioniert nur beim Debugging korrekt, sonst nicht. Allgemeine Java-Themen 1
S CSV Eintrag der nächsten Zeile auslesen funktioniert nicht Allgemeine Java-Themen 8
S Command funktioniert in Kommandzeile aber nicht mit ProcessBuilder bzw. Runtime.exec auf MAC Allgemeine Java-Themen 3
G Verschlüsselungsalgorythmus funktioniert nicht Allgemeine Java-Themen 2
buggy84 Ausführen einer Batch mit Parameterübergabe funktioniert nicht richtig Allgemeine Java-Themen 18
G Befehl funktioniert in Eclipse allerdings nicht in einer Jar-Datei Allgemeine Java-Themen 3
N Werte aus Arrays auslesen funktioniert nicht Allgemeine Java-Themen 5
W getResources funktioniert nur in Eclipse, nicht in JAR Allgemeine Java-Themen 2
S Methode funktioniert nicht als ActionListener Allgemeine Java-Themen 4
M exec() funktioniert nicht Allgemeine Java-Themen 1
M RC4-Chiffre (funktioniert eingeschränkt) Allgemeine Java-Themen 6
X Datentypen Dropzone.options funktioniert nicht Allgemeine Java-Themen 1
D Java funktioniert nur mit deaktivierter Grafikkarte Allgemeine Java-Themen 3
L Erste Schritte Eclipse und Lokal funktioniert - in HTML nicht! Allgemeine Java-Themen 2
K MD5 funktioniert nicht korrekt !? Allgemeine Java-Themen 9
M JAR Datei erstellen funktioniert nicht Allgemeine Java-Themen 5
Q JLabel Textausgabe funktioniert nicht Allgemeine Java-Themen 4
E SimpleDateFormat-Konvertierung funktioniert nicht Allgemeine Java-Themen 3
T Dateidownload Funktioniert nicht Allgemeine Java-Themen 4
C Wie funktioniert Projektplanung? Allgemeine Java-Themen 18
K String.replace funktioniert nicht Allgemeine Java-Themen 3
G treeMap.putall funktioniert nicht?! Allgemeine Java-Themen 2
DaniSahne96 Threads Code funktioniert nicht wie er sollte Allgemeine Java-Themen 9
S Warum funktioniert die runable -.jar nicht? Allgemeine Java-Themen 7
P Eclipse Unter Windows erstelle .jar unter Linux (Ubuntu) funktioniert nicht Allgemeine Java-Themen 5
H Mit Ant erstelltes jar funktioniert nicht wie direkt in Eclipse Allgemeine Java-Themen 8
aze Jar ausführen über Runtime.execute funktioniert nicht Allgemeine Java-Themen 4
M Normalized Iteration count funktioniert nicht. Wo ist mien Denkfehler? Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben