Java Swing komponensekben nem működnek az AltGr kombinációk

Fórumok

Ez hihetetlen, már kezdem rettenetesen felcseszni magam.

Van valakinek valami ötlete, hogy Java Swing komponensekben magyar billentyűzetkiosztással miért nem tudok semmilyen AltGr+billentyű kombinációt beírni? Így például ;-t sem, ami nem éppen ritka karakter programozásnál.Csak simán egy , karakter jelenik meg, mintha nem nyomtam volna AltGr-t. Létezik, hogy valami ilyen bug még mindig van így lassan 2008-ban?


$ java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode)

Gentoo Linuxról van szó.


$ cat /etc/env.d/02locale
LANG="hu_HU.utf8"
LC_ALL="hu_HU.utf8"

Előre is köszönök minden segítséget. Gugliban nem találtam semmi épkézláb megoldást, pedig már 3/4 órája túrom.

Hozzászólások

a forráskód irásánál van gondod vele?
vagy a a kész programban?

míg megtalálod a hibát használd az ALT + "numerikus számokat"
alt + 38 = &
Jbuilderben nagy gond ez a karakter csak azért tudom :D de nekérd hogy felsoroljam a többit is :D

a kész progiban van gon azt nem vágom... még csak most vizsgáztam le a tavalyi Jávábóól :D:D

Hali!

Nálam is ugyanez van, 1.6os javaval.
Egyelőre nincs megoldás. Az oka nálam - gugli szerint - az, hogy a java újabban másképp kezeli le a billentyűzet eventeket, és vmi gáz van az altgr kezelésével.
Ez különösen kellemes tud lenni pl netbeanses fejlesztés közben (ugye no pontosvessző... ^^).

Még 1 kis adalék a témához: haveromnak e17 alatt ugyanez a gondja, kde alatt viszont megjavul. Szilveszter körül szakítunk időt h kiderítsük, mi a különbség az ő konfigja és az enyém között. :)
Utána jelentkezek ha nem felejtem el.

kl223

cat /etc/env.d/02locale
LANG=hu_HU.UTF-8
LC_ALL=hu_HU.UTF-8
LANGUAGE=hu_HU.UTF-8
LC_CTYPE=hu_HU.UTF-8

Section "InputDevice"
Identifier "Keyboard1"
Driver "keyboard"
Option "AutoRepeat" "500 30"
# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
Option "XkbModel" "pc105"
Option "XkbLayout" "hu"
Option "XkbRules" "xorg"
EndSection

Hm. Nekem sajna ezek nem segítettek.
Bár mindez várható is volt; elvégre a többi Xes alkalmazás alatt minden jól működik, továbbá - mint írtam - volt rá példa, hogy ugyanazon X szerver alatt e17en előjött a hiba, kde alatt pedig nem.

Igazán kíváncsi leszek a megoldásra... a kde hol is tárol beállításokat? ~/.kde és /usr/kde/3.5/ gondolom.
Na majd egy szimpla diffet ráeresztek ezekre a könyvtárakra nálam és haveromnál aztán átböngészem. :)

Hehe, a wines és a linuxos jdk max távolról hasonlítanak egymásra. :)
Más: nekem ugyanezen a rendszeren 1.5ös jdk-val minden tökéletesen megy, tehát azért nem egyértelmű, hol is van a hiba... sőt, ugyanez a hiba ugyanígy előjön egy 32 bites rendszeren egy teljesen másik gentooval, etc.

Hm. Néhány érdekes link:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4122687
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4957565

Ezek szerint létezik vmiféle patch, de az nem a jdk-hoz való, hanem alkalmazásokon belül lehet felpakolni. (lényegében ideiglenesen)
Egy másik megoldás az AWT_TOOLKIT helyett az MToolkit használatának látszik, ami viszont bugos.

Végülis erre nem került sor. :( Elkérem az illető konfigját és meglátjuk.
Amúgy tervezem, h laptopon a vizsgaidőszak után újrahúzom a gentoot. Kíváncsi leszek rá (ha addig esetleg nem oldódik meg másképp), hogy mindez a kezdetektől fennáll, vagy esetleg csak vmely csomagok telepítése után jön elő. (mint pl a gnome esetében, amit a gtk-engines-qt csomag fektet ki...)

Lehet én nem értettem meg a problémát, de Netbeans indítása után mind a szerkesztőbe, mind pedig a swing app-ba tudok ;-t írni... (meg egyéb swing-es progikba is)
Java verzió ugyan az. Egyébként meg egy alap Ubuntu 7.10...

Én is belefuttottam a hibába. Némi vizsgálódás után arra jutottam, ha az LC_ALL változó tartalmát kitörlöm, akkor jó. Ha LC-ALL=hu_HU.UTF8, akkor nem jó.
Talán másnál is segít.

Én enlightenment alatt futottam bele. Ott ki kellett kapcsolni a speciális karakterbevitelt, és ment. Jelenleg KDE-m van, ott működik, bár van fent scim és skim.

---------
"Ha igazat mondasz azt végig unják, ha feldíszíted azt jól meg dugják"
szerény blogom -- új címen!

MEGVAN!
A LANG változóval van gáz.

Tapasztalat: ha LANG="hu_HU.UTF8", akkor nagyjából minden megy a rendszerben (konzolon jók az ékezetek, stb), de a swing nem ismeri az altgr-t.
Ha viszont LANG="hu_HU.UTF-8" (igen, a kötőjel a különbség), akkor pl konzolon elromlik az ékezetkezelés. Viszont a swing jól működik.

Tehát a megoldás az, hogy a swinges progiknak külön kell a LANG változót definiálni.
omg... és a /usr/share/i18n/SUPPORTED fájl alapján a java csinálja jól.

kl223

hi!

Sikerült találkoznom azzal a problémával, hogy FC9 alatt NB6-ban nem ment az altgr. Nem tudom, hogy ezt a swing-es gondot ugyanez okozza-e, de az én problémámat ez megoldotta.

LC_ALL=C /usr/local/netbeans-6.1/bin/netbeans

Forrás:
http://20y.hu/20080527/netbeans-61-on-fedora-9-the-alt-gr-bug-showdown…

Aki tud, és ezt tudja is, az veszélyes, azzal óvatos légy!
Aki nem tud, és ezt tudja, az okos, azt érdemes tanítanod!
Aki tud, és ezt nem tudja, az bölcs, attól érdemes tanulnod!
Aki nem tud, és ezt nem tudja, az hülye, azt hagyd a p*csába!