Normal
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.
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.