Auf Thema antworten

Der Code von mir ist im wahrsten Sinne des Wortes ein "edge case" - ich füge ja gerade mal die insets hinzu. Wäre davon ausgegangen, dass das so passt, tut es aber nicht (immer). Interessanterweise funktioniert es, wenn man tf.getHeight() - insets.bottom verwendet.


[code=Java]

    private static int getInsetPos(JTextField tf) {

        Insets insets = tf.getInsets();

        int pos = tf.viewToModel2D(new Point(tf.getWidth() - insets.right, tf.getHeight() - insets.bottom));

        return pos;

    }

[/code]


EDIT: weil es mir gerade einfällt... eventuell hängt das mit der Skalierung der Anzeige zusammen. Wenn ich 1 als top-Inset habe und das skaliere, könnte der int-Wert auf 0 abgeschnitten werden und das wäre dann außerhalb.



Oben