#892 Java Text Fields don't get focus

open
nobody
None
5
2014-04-10
2012-02-28
jcsl
No

If you click on a Text Field it doesn't get the focus. Using the TAB key isn't working either. Other input components have the same problem (JSpinner, JTextArea). If the widget initially have the focus, it can recover it back (you can use the small example in http://docs.oracle.com/javase/tutorial/uiswing/examples/components/TextDemoProject/src/components/TextDemo.java to see this) If no input element have the focus initially I haven't found a way to give it to them.

System info:

openSUSE 12.1
icewm-1.3.7-16.1.2.x86_64 (32 bits version have the same issue)
java-1_7_0-openjdk-1.7.0.0_147-5.18.x86_64

Discussion

  • Bernd Eggink

    Bernd Eggink - 2012-02-28

    This is not an icewm bug, but a nasty bug in JRE 7 for Linux which I reported to Oracle recently (Bug ID: 7147075). If you have an Sun account, you could go to http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7147075 and click on "vote for this bug" (no idea if it helps, though) or add a comment.
    In my opinion this bug makes JRE 7 for Swing applications under Linux practically unusable.

     
  • jcsl

    jcsl - 2012-02-29

    Thanks for the tip monoped. Do you have any hint on why this only happen with IceWM and not with others DE/WM? And to add some information, I don't use Oracle's JDK but IcedTea and the bug is still present.

    java version "1.7.0_147-icedtea"
    OpenJDK Runtime Environment (IcedTea7 2.0) (SUSE LINUX build 1.7.0_147-icedtea-b147)
    OpenJDK Client VM (build 21.0-b17, mixed mode)

    Are both implementations the same now?

     
  • Bernd Eggink

    Bernd Eggink - 2012-02-29

    You're right, it works with other WMs. So indeed this looks like a special issue with the IceWM+Java7 combination. I really hope somebody will look at it from the IceWM side as well - this bug is a real show-stopper for me.

     
  • Prasanth Pasala

    Prasanth Pasala - 2012-07-27

    When the app is launched you can type in text fields. It is only when you switch from other apps you can't type in the text fields. There is a work around for this, you have to minimize the app and maximum it again. Once you do that you can start typing in the text fields.

    Hope IceWM can do some thing to fix this. What ever fix was made in https://sourceforge.net/tracker/?func=detail&aid=2987552&group_id=31&atid=100031? allowed typing in text fields when the app is launched.

     
  • TheFlu

    TheFlu - 2013-03-05

    Any possible resolution for this on the horizon? I have tested with both java-1.7.0-openjdk as well as JRE-7u17, and the problem exists under both. This has become much more important now that Oracle no longer supports version 1.6.

     
  • Helmut Jarausch

    Helmut Jarausch - 2013-03-31

    I have just noticed that this breaks JEdit, as well. It's completely unusable under IceWM. With Fluxbox there are no problems.
    If this isn't resolved I'm going to switch to Fluxbox.

     
  • zstegi zstegi

    zstegi zstegi - 2013-04-01

    Can someone test this patch (on top of 1.3.8pre1 - last cvs): http://pastebin.com/NqSbYDYP

    It's ugly, but JEdit and TextDemo with Java7 seems useable (for me™).

     
  • Bernd Eggink

    Bernd Eggink - 2013-04-01

    zstegi, your patch seems to work for me as well (tested with JRE 7u17) . Thanks a lot!

     
  • Helmut Jarausch

    Helmut Jarausch - 2013-04-02

    Unfortunately, I cannot compile icewm (https://github.com/zstegi/icewm) here.

    The C++ code seems to be heavily outdated.
    The are unclean conversions from a pointer type to long int which isn't accepted by
    my gcc-4.7.2 anymore and I hesitate to calm this error by brute force casting.
    Furthermore the code uses deprecated functions, e.g.

    ytimer.h:18:5: error: initializing argument 1 of 'YTimer::YTimer(long int)' [-fpermissive]

    warning: 'KeySym XKeycodeToKeysym(Display*, KeyCode, int)'

    Is IceWM really maintained anymore? The files at the official CVS code base have an age of 8 months at least.

     
  • Bernd Eggink

    Bernd Eggink - 2013-04-02

    The 2nd patch works for me as well.
    I have no problems compiling icewm with gcc (CRUX-i686) 4.7.2. However, I also think that icewm deserves a more active maintanance. It's such a great WM. I don't know if other WMs exists with a similar configurability.

     
  • Helmut Jarausch

    Helmut Jarausch - 2013-04-02

    You're saying your gcc-4.7.2 accepts pointer parameter to a function argument of type long int? Have you any compiler flags which turns the error (in my case) into a warning? That's dangerous as it assumes sizeof(long ing) >= sizeof(void*) which isn't guaranteed by the C++ Standard.

     
  • Bernd Eggink

    Bernd Eggink - 2013-04-02

    I don't set compiler flags myself, I use the Pkgfile made by Danny Rawlins for Crux (see .http://crux.ster.so/ports/romster//icewm/Pkgfile). The compiler issues a lot of warnings, mostly about deprecations. I can live with that, as long as the WM runs fine.

     
  • zstegi zstegi

    zstegi zstegi - 2013-04-02

    Please use this patch here, where i fixed a misplaced xfree: http://pastebin.com/J3XPVvQE

    Sorry for the inconvenience.

    @hjarausch: may you want to open a ticket for your compiling issue.

     
  • TheFlu

    TheFlu - 2013-04-02

    Thank you so much for the patch. I haven't tested it just yet, but I wanted to post a quick comment to say that in order to get this to compile against icewm-1.3.7-3.el6.i686 on CentOS 6.4, I had to change line 5 of src/base.h to the following:

    #define ICEWM_deprecated __attribute__((deprecated))

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks