Popups mit Klicksabfangen zumAusfüllen einer .ods Datei

berndoa

Top Contributor
Hallo,
vermutlich weiß jeder was ich meine:
Wenn man so manches Programm oder Spiel zum ersten Mal öffnet,
wird man ja zum Eingeben der gewünschten Tasten für verschiedene Funktionen gebeten.

So Ähnliches will ich auch machen, nur mit Mausklicks und deren Koordinaten:
Ich habe, sagen wir mal vereinfacht gesprochen, ein Bild mit allen möglichen Sachen darauf.
Und ich habe eine "Datenbank" in Form einer simplen Koordinaten.ods Datei,
in der ganz simpel in Spalte 1 der Name des Objekts, in Spalte 2 dessen x Koordinate und Spalte 3 die y Koordinate steht.


Jetzt will ich ein programm bauen dass Folgendes macht:
Es geht der Reihe nach die gesuchtne Sachen aus der Datenbank durch, fordert mittels Popup zum Anklicken des Objekts auf ("Bitte klicken Sie nun mitten auf das Objekt 'Apfel'"), ich klicke dann im Bild auf das Objekt (Koordinaten sollen nicht auf das window oder so sondern schon auf den ganzen screen bezogen sein)
und speichert die Koordinaten des klicks in der Datenbank ab.

So klicke ich der Reihe nahc die Sachen an und die Datenbank füllt sich mit den x/y paaren der Klicks.

Mit ods Dateien gewerkelt habe ich bisher schon im zugreifenden Sinne, ich habe da bisher die folgende Methode genutzt, die die Werte aus der .ods Datei ausliest und in eine HashMap<String,Coordinate> list abspeichert:

Java:
    public void init() {
        File file = new File(".\\Koordinaten.ods");

        Sheet sheet;

        try {
            // Getting the 0th sheet for manipulation| pass sheet name as string
            sheet = SpreadSheet.createFromFile(file).getSheet(0);

            // Get row count and column count
            int nColCount = sheet.getColumnCount();
            int nRowCount = sheet.getRowCount();

            System.out.println("Rows :" + nRowCount);
            System.out.println("Cols :" + nColCount);

            int i = 0;
            MutableCell<SpreadSheet> a = sheet.getCellAt(1, i);

            while ((a.getTextValue() != null) && !(a.isEmpty())) {
                list.put(a.getTextValue(), new Coordinate(Integer.parseInt(sheet.getCellAt(2, i).getTextValue()),
                        Integer.parseInt(sheet.getCellAt(3, i).getTextValue()), scaleFactor));
                i++;
                a = sheet.getCellAt(1, i);
            }

        } catch (IOException e) {
            e.printStackTrace();
        }

        return;

    }


Wie ich nun schreibenden Zugriff kriege, müsste ich erst nachlesen;
wobei mein theoretisch dringlichstes Problem beim besagten "Popup" liegt (das faktisch einfach eine Zeile unten am Bildschirmrand sein sollte, nichts besonders schönes oder schweres)
sowie dem "catchen" der Click koordinaten.

Wie mache ich das simpel und einfach?
Die tabelle umfasst vielleicht 20 Einträge, es muss also nur funktionieren und nicht besonders schön oder effizient sein :)

Habe für automatische klicks bisher immer den Robot benutzt, aber keine Ahnung ob man den zum clicks catchen auch nutzen kann :-/
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F popups Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben