Skip to content

Commit b5af7ae

Browse files
hansonrhansonr
authored andcommitted
CSS cursor fix for JSTextUI
possibly unnecessary TextListener mouseEntered
1 parent 54babfd commit b5af7ae

File tree

6 files changed

+62
-9
lines changed

6 files changed

+62
-9
lines changed

sources/net.sf.j2s.java.core/src/swingjs/plaf/JSComponentUI.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1637,7 +1637,7 @@ protected void setCursor() {
16371637
}
16381638

16391639

1640-
private Cursor getCursor() {
1640+
protected Cursor getCursor() {
16411641
Cursor cur = c.getCursor();
16421642
return (cur == Cursor.getDefaultCursor() ? null : cur);
16431643
}

sources/net.sf.j2s.java.core/src/swingjs/plaf/JSSplitPaneUI.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ protected void fHandleDrag(Object xyev, int type) {
246246
}
247247
}
248248

249-
private Cursor getCursor() {
249+
protected Cursor getCursor() {
250250
isHorizontal = (splitPane.getOrientation() == JSplitPane.HORIZONTAL_SPLIT);
251251
if (cursor == null) {
252252
cursor = Toolkit.getDefaultToolkit().createCustomCursor(null, null, isHorizontal ? "col-resize" : "row-resize");

sources/net.sf.j2s.java.core/src/swingjs/plaf/JSTextUI.java

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929

3030
import java.awt.Color;
3131
import java.awt.Container;
32+
import java.awt.Cursor;
3233
import java.awt.Dimension;
3334
import java.awt.Font;
3435
import java.awt.Graphics;
@@ -149,20 +150,31 @@ public abstract class JSTextUI extends JSLightweightUI {
149150
TextListener textListener; // referred to in j2sApplet.js
150151

151152
protected boolean useRootView = false; // TextArea only?
152-
153+
154+
private static final Cursor textCursor = new Cursor(Cursor.TEXT_CURSOR);
153155
@Override
154156
public DOMNode updateDOMNode() {
155157
if (editor.isOpaque() && editor.isEnabled())
156158
setBackgroundImpl(getBackground());
157159
setEditable(editable);
160+
if (editor.getCursor() == null)
161+
DOMNode.setStyle(domNode, "cursor", "text");
158162
Color cc = editor.getCaretColor();
159163
if (cc != null)
160164
DOMNode.setStyle(domNode, "caret-color", toCSSString(cc));
161165
setPadding(editor.getMargin());
162166
return updateDOMNodeCUI();
163167
}
164168

165-
169+
@Override
170+
protected Cursor getCursor() {
171+
if ((! editor.isCursorSet())
172+
|| editor.getCursor() instanceof UIResource) {
173+
return (editor.isEditable()) ? textCursor : null;
174+
}
175+
return super.getCursor();
176+
}
177+
166178
/**
167179
* called by JSComponentUI.bindJSEvents
168180
*
@@ -668,7 +680,7 @@ public void uninstallUI(JComponent jc) {
668680

669681
protected void installListeners(JTextComponent b) {
670682
TextListener listener = textListener;
671-
// b.addMouseListener(listener);
683+
b.addMouseListener(listener);
672684
// b.addMouseMotionListener(listener);
673685
b.addKeyListener(textListener);
674686
b.addFocusListener(listener);
@@ -681,7 +693,7 @@ protected void installListeners(JTextComponent b) {
681693
protected void uninstallListeners(JTextComponent b) {
682694
TextListener listener = textListener;
683695
b.removeKeyListener(textListener);
684-
// b.removeMouseListener(listener);
696+
b.removeMouseListener(listener);
685697
// b.removeMouseMotionListener(listener);
686698
b.removeFocusListener(listener);
687699
b.removePropertyChangeListener(listener);
@@ -1130,6 +1142,7 @@ public void setEditable(boolean editable) {
11301142
setBackgroundImpl(editable || !(bg instanceof UIResource)
11311143
|| inactiveBackground == colorUNKNOWN ? bg : inactiveBackground);
11321144
}
1145+
setCursor();
11331146
}
11341147

11351148
protected void setEditableCSS() {

sources/net.sf.j2s.java.core/src/swingjs/plaf/TextListener.java

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333
import java.awt.event.FocusListener;
3434
import java.awt.event.KeyEvent;
3535
import java.awt.event.KeyListener;
36+
import java.awt.event.MouseEvent;
37+
import java.awt.event.MouseListener;
3638
import java.beans.PropertyChangeEvent;
3739
import java.beans.PropertyChangeListener;
3840

@@ -49,7 +51,7 @@
4951
import swingjs.api.js.DOMNode;
5052

5153
public class TextListener implements KeyListener, FocusListener, ChangeListener,
52-
PropertyChangeListener, DocumentListener, CaretListener {
54+
PropertyChangeListener, DocumentListener, CaretListener, MouseListener {
5355

5456
private JTextComponent txtComp;
5557

@@ -208,4 +210,33 @@ public void keyReleased(KeyEvent e) {
208210
// System.out.println("TextListener " + e);
209211
}
210212

213+
@Override
214+
public void mouseClicked(MouseEvent e) {
215+
// TODO Auto-generated method stub
216+
217+
}
218+
219+
@Override
220+
public void mousePressed(MouseEvent e) {
221+
// TODO Auto-generated method stub
222+
223+
}
224+
225+
@Override
226+
public void mouseReleased(MouseEvent e) {
227+
// TODO Auto-generated method stub
228+
229+
}
230+
231+
@Override
232+
public void mouseEntered(MouseEvent e) {
233+
ui.setCursor();
234+
}
235+
236+
@Override
237+
public void mouseExited(MouseEvent e) {
238+
// TODO Auto-generated method stub
239+
240+
}
241+
211242
}

sources/net.sf.j2s.java.core/src/test/Test_Applet_Scroll.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
import java.awt.Adjustable;
1313
import java.awt.Color;
14+
import java.awt.Cursor;
1415
import java.awt.Dimension;
1516
import java.awt.Graphics;
1617
import java.awt.Graphics2D;
@@ -404,6 +405,7 @@ public void paintComponent(Graphics g) {
404405
label.setVerticalAlignment(SwingConstants.CENTER);
405406

406407
final JTextField tf = new JTextField(/** @j2sNative "null" ||*/null, "12.5", 8);
408+
// tf.setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
407409
// final JTextField tf = new JTextField(new PlainDocument() {
408410
// @Override
409411
// public void getText(int offset, int length, Segment txt) throws BadLocationException {

sources/net.sf.j2s.java.core/src/test/Test_Long.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,15 @@ public class Test_Long extends Test_ {
2929

3030
public static void main(String[] args) {
3131

32-
long j = 2, k = 10, l = 1, m = 12;
33-
32+
33+
long j = Long.parseLong("2"), k = 10, l = 1, m = 12;
34+
Long J = Long.valueOf(j);
35+
assert(J == 2);
36+
J = Long.valueOf("2");
37+
assert(J == 2);
38+
assert(J == Long.valueOf(2));
39+
J = new Long(2000);
40+
assert(J != Long.valueOf(2000));
3441

3542
// TODO
3643

0 commit comments

Comments
 (0)