From 3dc45941737c0a4321f81454ff6d05526e458f2d Mon Sep 17 00:00:00 2001 From: drdev Date: Wed, 12 Feb 2014 06:29:49 +0000 Subject: [PATCH] Fix so I-Beam cursor displayed when over text fields --- forge-gui/src/main/java/forge/gui/MouseUtil.java | 16 ++++++++++++++++ .../main/java/forge/gui/toolbox/FTextField.java | 5 +++++ 2 files changed, 21 insertions(+) diff --git a/forge-gui/src/main/java/forge/gui/MouseUtil.java b/forge-gui/src/main/java/forge/gui/MouseUtil.java index 899e8831137..b62b97a4da2 100644 --- a/forge-gui/src/main/java/forge/gui/MouseUtil.java +++ b/forge-gui/src/main/java/forge/gui/MouseUtil.java @@ -3,6 +3,8 @@ package forge.gui; import forge.view.FView; import java.awt.*; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; public final class MouseUtil { private MouseUtil() { } @@ -57,4 +59,18 @@ public final class MouseUtil { if (cursorLockCount > 0) { return; } FView.SINGLETON_INSTANCE.getLpnDocument().setCursor(cursor); } + + public static void setComponentCursor(final Component comp, final Cursor cursor0) { + comp.addMouseListener(new MouseAdapter() { + @Override + public void mouseEntered(MouseEvent e) { + setCursor(cursor0); + } + + @Override + public void mouseExited(MouseEvent e) { + setCursor(Cursor.getDefaultCursor()); + } + }); + } } diff --git a/forge-gui/src/main/java/forge/gui/toolbox/FTextField.java b/forge-gui/src/main/java/forge/gui/toolbox/FTextField.java index 6418b9c2371..d5158b929b1 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/FTextField.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/FTextField.java @@ -1,5 +1,6 @@ package forge.gui.toolbox; +import forge.gui.MouseUtil; import forge.gui.toolbox.FSkin.SkinnedTextField; import javax.swing.*; @@ -8,6 +9,7 @@ import javax.swing.event.DocumentListener; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.PlainDocument; + import java.awt.*; import java.awt.event.FocusAdapter; import java.awt.event.FocusEvent; @@ -70,6 +72,9 @@ public class FTextField extends SkinnedTextField { this.setText(builder.text); this.setToolTipText(builder.toolTip); this.setFocusable(true); + if (this.isEditable()) { + MouseUtil.setComponentCursor(this, Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR)); + } addFocusListener(new FocusAdapter() { @Override